更改文本视图中可绘制图像的重力

Change gravity of image drawable in textview

我在 TextView 中添加了图像 Drawable 开始。问题是我无法控制 TextView 中那个 Drawable 的重力

我需要达到的目标

到目前为止我取得了什么

这是我的 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" />

关于如何将 Drawable 的重力设置为 top/start 的任何建议?谢谢

使用复选框代替 textview Drawable,并在可以使用此图像的地方添加自定义 drawable

  1. 尝试使用 android:gravity="top"

    如果它不起作用然后像这样使用负边距

  2. android:drawablePadding="-20sp"

  3. 另一种方法是在旁边加上一个ImageView TextViewLinearLayout 里面所以你可以应用重力

我建议你把图片放到imageview。将 imageview 和 textview 放在 Linearlayout 中,并将 gravity 设置为 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>

使用复选框而不是文本视图并禁用该视图的单击和焦点

<CheckBox
        android:gravity="top"
        android:button="@drawable/ic_right_managed"
        android:clickable="false"
        android:focusable="false"
        text="I look like a check box but beware I'm not"/>