可绘制填充不起作用
Drawable padding doesn't work
我有以下 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
没有效果。怎么了?
根据您的代码,您为 AutoCompleteTextView 提供了静态高度,即 30dp。这就是可绘制填充不可见的原因。
如果您希望可绘制的填充可见,请尝试使用环绕内容。
drawablePadding
是可绘制对象和小部件其余部分之间的填充。
使用 padding
属性为您的小部件(包括可绘制对象)提供填充。
drawablePadding
只有当widget view size足够小时才会生效
对于 drawableRight
和 drawableLeft
,drawablePdding
仅在视图宽度为 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" />
截图如下:
我有以下 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
没有效果。怎么了?
根据您的代码,您为 AutoCompleteTextView 提供了静态高度,即 30dp。这就是可绘制填充不可见的原因。 如果您希望可绘制的填充可见,请尝试使用环绕内容。
drawablePadding
是可绘制对象和小部件其余部分之间的填充。
使用 padding
属性为您的小部件(包括可绘制对象)提供填充。
drawablePadding
只有当widget view size足够小时才会生效
对于 drawableRight
和 drawableLeft
,drawablePdding
仅在视图宽度为 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" />
截图如下: