我需要更改listview中的分隔颜色。我用来完成此任务的代码如下所示:
<ListView
android:id="@+id/restaurant_list_widget"
android:layout_width="1px"
android:layout_height="1px"
android:layout_weight="1" android:background="@drawable/list"
android:divider="#FFFFFF"
android:dividerHeight="4px">
</ListView>
我仍然得到一个黑色的1px宽分频器。我做错了什么?
更新:ListItem
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dp"
android:background="@color/list_background">
<TextView
android:id="@+id/restaurant_list_item_name"
android:layout_marginBottom="4dp"
android:textStyle="bold"
android:textSize="15dp"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="#fff"
android:text="Restaurant Name Goes Here"></TextView>
<TextView
android:id="@+id/restaurant_list_item_detail"
android:textSize="10dp"
android:layout_width="fill_parent"
android:layout_height="fill_parent"></TextView>
</LinearLayout>
答案 0 :(得分:85)
我已尝试过:
<ListView
android:id="@+id/ListView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="@color/redBackground"
android:dividerHeight="1dip">
</ListView>
,颜色值在colors.xml中:
<color name="redBackground">#C60202</color>
它的工作正常并且显示Divider颜色为红色,高度为1dip。
只需查看您的列表视图布局,您已经提到了layout_width
和layout_height
的1px,而您为dividerHeight
设置了4px。
答案 1 :(得分:38)
我认为问题发生在ListView
的{{1}}&amp; layout_width
。
设置layout_height
和layout_width="fill_parent"
否则
设置分频器颜色和方式的方法列表视图中的高度
您可以使用layout_height="wrap_content"
在布局xml文件中设置此值。
您还应该在修改时设置/重置分隔符的高度。
android:divider="#FF0000"
您也可以在 <ListView
android:id="@+id/android:list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:divider="#FFCC00"
android:dividerHeight="4px"/>
中指定Drawable
资源。
您可以对其进行编码:
android:divider
你可以这样做
方法1:
在res / values / colors.xml中,输入以下内容:
int[] colors = {0, 0xFFFF0000, 0}; // red for the example
myList.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));
myList.setDividerHeight(1);
在<resources>
<color name="sage">#cceebb</color>
</resources>
- 扩展课程中,执行以下操作:
ListActivity
方法2:
在res / values / colors.xml中:
ListView lv = getListView();
ColorDrawable sage = new ColorDrawable(this.getResources().getColor(R.color.sage));
lv.setDivider(sage);
lv.setDividerHeight(1);
在您的类中扩展ListActivity:
<resources>
<drawable name="sage">#cceebb</drawable>
</resources>
希望有所帮助
答案 2 :(得分:6)
您只需要设置ListView的分隔符属性:
android:divider="#FFCC00"
答案 3 :(得分:2)
您应该在ListView中添加以下代码:
android:divider="@android:color/white"
android:dividerHeight="0.2dp"
答案 4 :(得分:0)
您必须添加以下代码。
<ListView
android:id="@+id/restaurant_list_widget"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="#FFFFFF"
android:dividerHeight="0.5dp" />