Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 更改可在textview中绘制的图像的重力_Android_Android Layout_Textview_Android Drawable_Android Gravity - Fatal编程技术网

Android 更改可在textview中绘制的图像的重力

Android 更改可在textview中绘制的图像的重力,android,android-layout,textview,android-drawable,android-gravity,Android,Android Layout,Textview,Android Drawable,Android Gravity,我在文本视图中添加了图像可绘制开始。问题是我无法在TextView中控制绘图的重力 <TextView android:id="@+id/tv_8_digit_check" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" an

我在文本视图中添加了图像可绘制开始。问题是我无法在TextView中控制绘图的重力

        <TextView
            android:id="@+id/tv_8_digit_check"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:drawablePadding="@dimen/dimen_4"
            android:drawableStart="@drawable/ic_validate"
            android:text="@string/at_least_8_characters_txt"
            android:textColor="@color/white_trans"
            android:textSize="12sp" />
我需要达到的目标

到目前为止我所取得的成就

这是我的文本视图

        <TextView
            android:id="@+id/tv_8_digit_check"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:drawablePadding="@dimen/dimen_4"
            android:drawableStart="@drawable/ic_validate"
            android:text="@string/at_least_8_characters_txt"
            android:textColor="@color/white_trans"
            android:textSize="12sp" />


关于如何将牵引装置的重力设置为顶部/开始位置,有什么建议吗?谢谢

使用复选框而不是textview Drawable,并在可以使用此图像的位置添加自定义Drawable

  • 尝试使用android:gravity=“top”

    如果它不起作用,那么像这样使用负边距

  • android:drawablePadding=“-20sp”

  • 另一种方法是在旁边拍摄
    ImageView
    TextView
    内部
    LinearLayout
    以便应用重力


  • 我建议您将图像放到imageview。将imageview和textview置于线性布局中,并将重力设置为
    top
    。同时减小文本和图像的大小。

    
    
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="top">
    
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="@dimen/dimen_4"
            android:src="@drawable/ic_validate"/>
        <TextView
            android:id="@+id/tv_8_digit_check"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/at_least_8_characters_txt"
            android:textColor="@color/white_trans"
            android:textSize="12sp" />
    
    </LinearLayout>
    

    在我的情况下,重力陀螺不工作。关于填充,我已经为其他目的分配了一些填充。然后开始第三个想法。最后是第三个解决方案。我知道这个解决方案,但我认为有人可能会有更好的解决方案。谢谢,我知道这个解决方案会奏效。但问题是嵌套布局。和视图优化如果是为了在布局中添加另一个视图,为什么android构建的复合可绘制视图可以设置在同一个TextView中?通常当文本较短时,复合可绘制是个好主意,但当你想要自定义某个视图时,它帮不上忙。您可以放置android:maxLines=“1”并减小文本大小,但这可能会在小屏幕上造成问题。您还可以在主文本视图下为“字符”创建额外的文本视图您可以更改复选框drawable
    android:button=“@drawable/your_drawable”android:gravity=“top”android:paddingLeft=“6dp”