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

Usm*_*uri 20 android textview android-layout android-drawable android-gravity

我在TextView中添加了Drawable start图像.问题是我无法控制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" />
Run Code Online (Sandbox Code Playgroud)

关于如何将Drawable的重力设置为顶部/开始的任何建议?谢谢

Man*_*ddy 7

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

    如果它不起作用,则以这样的负余量进行

  2. android:drawablePadding="-20sp"

  3. 另一种替代方法是ImageViewTextView内部放置一个旁架 ,LinearLayout以便您可以施加重力

  • 重力顶部在我的情况下不起作用。关于填充,我已经不得不为其他目的分配一些填充。 (3认同)
  • 是的,最后要做第三个解决方案。我知道该解决方案,但我认为有人可能对此有更好的解决方案。谢谢 (2认同)

小智 6

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

  • 您可以更改 CheckBox drawable `android:button="@drawable/your_drawable" android:gravity="top" android:paddingLeft="6dp"` (4认同)