29

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

我需要达到的目标 我需要达到的目标

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

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

这是我的文本视图

        <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 的重力设置为顶部/开始的任何建议?谢谢

4

5 回答 5

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

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

  2. android:drawablePadding="-20sp"

  3. 另一种替代方法是在里面取一个ImageView旁边 ,这样你就可以应用重力TextViewLinearLayout

于 2017-02-27T08:52:29.860 回答
6

使用复选框而不是 textview Drawable,并在可以使用此图像的地方添加自定义可绘制对象

于 2017-02-27T08:45:08.737 回答
1
<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>
于 2017-02-27T08:58:00.563 回答
1

我建议你把图像放到 imageview 中。将 imageview 和 textview 放在 Linearlayout 中并将重力设置为top. 减小文本和图像的大小。

于 2017-02-27T08:53:16.717 回答
0

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

<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"/>
于 2021-06-29T14:06:09.297 回答