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

时间:2017-02-27 08:43:04

标签: android android-layout textview android-drawable android-gravity

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

我需要实现的目标 What i need to achieve

到目前为止我取得的成就

What i have achieved so far

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

5 个答案:

答案 0 :(得分:4)

使用复选框而不是textview Drawable,并添加自定义drawable,您可以使用此图像

答案 1 :(得分:4)

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

    如果它没有用,那么就像这样使用负边距

  2. android:drawablePadding="-20sp"

  3. 另一种方法是在ImageView旁边  TextViewLinearLayout,因此您可以应用重力

答案 2 :(得分:0)

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

答案 3 :(得分:0)

<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>

答案 4 :(得分: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"/>