以编程方式更改listView分隔符填充,颜色和高度

时间:2014-05-05 16:30:12

标签: android listview divider

对于我的应用程序我想更改listView的分隔符。 目标是设置实心填充和用户可定义的高度,例如用户可定义的颜色。

因此我设置了一个自定义分隔符drawable,如下所示:

<?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设置为分隔符或访问drawable的高度和颜色?

(!重要)Padding应该只影响Divider,因为我使用的headerView应该覆盖整个屏幕宽度。

编辑:完美的方法是以编程方式设置所有内容。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

我想你可以从堆栈溢出中引用Old Post

它包含部分解决方案。