可绘制填充不起作用

时间:2015-09-29 07:29:11

标签: android android-drawable

我有以下xml:

  <AutoCompleteTextView
                android:id="@+id/searchQuery"
                android:layout_width="match_parent"
                android:layout_height="30dp"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:drawablePadding="25dp"
                android:drawableRight="@drawable/ic_search_black_18dp"
                android:ems="8"
                android:focusable="true"
                android:focusableInTouchMode="true"
                android:imeOptions="actionSearch"
                android:inputType="text" />

我想让图标移动,但drawablePadding无效。有什么问题?

3 个答案:

答案 0 :(得分:11)

drawablePadding在您的小部件的drawable和其余部分之间填充。 使用padding属性在窗口小部件周围提供填充,包括drawable。 drawable

答案 1 :(得分:0)

根据您的代码,您为AutoCompleteTextView提供静态高度,即30dp。这是可绘制填充不可见的原因。 如果您希望可绘制填充可见,请尝试使用换行内容。

答案 2 :(得分:-1)

drawablePadding仅在窗口小部件视图大小足够小时生效。

对于drawableRightdrawableLeftdrawablePdding仅在视图宽度为wrap_content时有效。

如果视图的宽度为match_parent或宽度或minWidth具有特定的较大值,则drawable将位于边缘。

布局:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawablePadding="4dp"
    android:drawableRight="@drawable/red_dot_indicator"
    android:gravity="center"
    android:text="Hello World!" />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:drawablePadding="4dp"
    android:drawableRight="@drawable/red_dot_indicator"
    android:gravity="center"
    android:text="Hello World! 2" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawablePadding="4dp"
    android:drawableRight="@drawable/red_dot_indicator"
    android:gravity="center"
    android:minWidth="200dp"
    android:text="Hello World! 3" />

屏幕截图如下: enter image description here