动态更改android:TextView上的drawableEnd/Right未显示在SDK 4.1上
我的看法是动态更改android:TextView上的drawableEnd/Right未显示在SDK 4.1上,android,textview,Android,Textview,我的看法是 <?xml version="1.0" encoding="utf-8"?> <TextView android:id="@+id/txt_suburb" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:b
<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/txt_suburb"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/default_ripple_selector"
android:clickable="true"
android:drawableEnd="@drawable/image_one"
android:drawableRight="@drawable/image_one"
android:minHeight="20dp"
android:orientation="vertical"
android:textAppearance="?android:textAppearanceSmall"
android:textColor="@color/black" />
除了Android版本4.1,它在所有版本上都可以正常工作。(请注意,我最早的支持版本是4.1)。有什么问题吗?显然,当XML中有一个drawable时,它不会被4.1中的API调用覆盖。但所有其他版本都运行良好。因此,只需删除可绘制参考,如下所示
<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/txt_suburb"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/default_ripple_selector"
android:clickable="true"
android:minHeight="20dp"
android:orientation="vertical"
android:textAppearance="?android:textAppearanceSmall"
android:textColor="@color/black" />
尝试在设置的可绘制线之后添加textView.requestLayout()和textView.refreshDrawableState()。
<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/txt_suburb"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/default_ripple_selector"
android:clickable="true"
android:minHeight="20dp"
android:orientation="vertical"
android:textAppearance="?android:textAppearanceSmall"
android:textColor="@color/black" />