如何解决如何通过布局xml文件更改ExpanableListView子分隔符的颜色?
| 我想通过写来更改ExpandableListView
的子分隔线的颜色:
android:childDivider=\"@drawable/yellow\"
在布局文件中。但是,当我折叠该项目时,我发现ExpandableListView
变成黄色(@drawable/yellow
)的背景,但我只想更改子分隔线的颜色。谁能告诉我为什么?令我惊讶的是,如果我通过Java代码更改它,例如
expandableListView.setChildDivider(this.getResources().getDrawable(R.drawable.yellow));
它正常工作。这很奇怪,谁能告诉我原因?
<!-- if I set childDivider in Layout xml,it can\'t work normally.
However,if set childDivider in java code,it work normally -->
<ExpandableListView android:id=\"@+id/list\"
android:layout_width=\"fill_parent\"
android:layout_height=\"fill_parent\"
android:layout_alignParentLeft=\"true\"
android:dividerHeight=\"2dp\"
android:divider=\"@drawable/yellow\"
android:childDivider=\"@drawable/yellow\"
/>
解决方法
创建一个高度较小的绘图并将其设置为childDivider
属性
\“ child_separator.xml \”:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<shape xmlns:android=\"http://schemas.android.com/apk/res/android\"
android:shape=\"rectangle\">
<solid android:color=\"@color/child_separator_color\"/>
<size android:height=\"1dp\"/>
</shape>
展开式列表视图:
android:childDivider=\"@drawable/child_separator\"
, 只需将儿童分隔线设置为您选择的颜色即可。
<ExpandableListView
android:id=\"@+id/list_shopping\"
android:layout_width=\"wrap_content\"
android:layout_height=\"wrap_content\"
android:childDivider=\"@color/LightGrey\"
android:dividerHeight=\"1dp\" />
, 您只需要从布局中删除android:divider=\"@drawable/yellow\"
。如果我理解正确,这应该可以解决您的问题。
这是我的意思:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。