【发布时间】:2014-05-14 17:48:55
【问题描述】:
对于我的应用,我想更改 listView 的分隔符。 目标是设置实心填充和用户可定义的高度,例如用户可定义的颜色。
因此我设置了一个可绘制的自定义分隔线,如下所示:
<?xml version="1.0" encoding="UTF-8"
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetLeft="20dp"
android:insetRight="20dp"
<shape android:shape="rectangle" >
<solid android:color="@color/dark_grey" />
</shape>
</inset>
这给了我想要的结果的一部分。我想要的填充物。 (还有一个静态自定义颜色,但我想让它用户可定义)
所以我的第二种方法是以编程方式设置分隔符:
int dividerColor = customColor;
int dividerHeight = customHeight;
myList.setDivider(new ColorDrawable (dividerColor));
myList.setDividerHeight(dividerHeight);
使用此解决方案,我获得了可自定义的高度和可自定义的颜色,但分隔线是从屏幕边到屏幕边绘制的,没有任何填充。
所以我的问题是:
有没有办法以编程方式将 Padding 设置为分隔线或访问可绘制对象的高度和颜色?
(!IMPORTANT) Padding 应该只影响 Divider,因为我使用的 headerView 应该覆盖整个屏幕宽度。
编辑:完美的方法是以编程方式设置所有内容。
任何帮助表示赞赏。
【问题讨论】: