我有一个像这样的TextView:
<TextView
android:id="@+id/friends"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp" />
我设置的背景如下:
textView.setBackgroundResource(R.drawable.background_color);
其中background_color.xml是:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#217dd2" />
</shape>
</item>
<item
android:left="5dip">
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#deebf6" />
</shape>
</item>
这将删除我的默认填充8dp,并将其替换为我在分层列表的第2项上声明的5dp左边填充。有什么办法可以避免这个吗或者为视图创建2色背景的另一种方法是什么?
答案 0 :(得分:1)
该已知问题,setBackgroundResource方法重置填充。 尝试从XML设置背景:
<TextView
android:id="@+id/friends"
android:background="@drawable/background_color"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp" />
在这种情况下它会正常工作。