帮助!我在SO上尝试了所有答案,但无济于事
Shape xml:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<!-- stroke width must be 1px, see https://stackoverflow.com/questions/3979218/android-listview-divider -->
<stroke
android:width="1px"
android:color="#aaAAaa" />
</shape>
在ListFragment中:
public void onViewCreated(View v, Bundle bundle){
listView = getListView();
listView.setDivider(getActivity().getResources().getDrawable(R.drawable.xxxx));
listView.setDividerHeight(1);
setListAdapter(...);
}
适配器:
@Override public boolean areAllItemsEnabled(){return true;}
此外,分隔符不应该跨越整个列表视图的宽度,我想要在左侧和右侧有一些填充。所以我认为一个可绘制的形状是必须的。
已编辑答案: 不要使用直线,而是使用矩形。 并按照此填充: How to add padding to gradient <shape> in Android?
答案 0 :(得分:0)
在listml的xml中指定以下内容:
<ListView
android:id="@+id/List"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1.0"
android:divider="#35FFFFFF"
android:dividerHeight="1dp" >
</ListView>
分隔线的颜色和高度可以是你想要的任何东西。
答案 1 :(得分:0)
尝试使用,
listView = getListView();
listView.setDivider(new ColorDrawable(Color.parseColor("#aaAAaa")))
float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1,getResources().getDisplayMetrics());
listView.setDividerHeight((int)px)
P.S。更新了代码以获取给定int值的dip值。您可以在我设置1
的地方传递值。
答案 2 :(得分:0)
使用
<ListView
android:id="@+id/listview"
android:dividerHeight="3dp"
android:divider="#05806D"
android:listSelector="#ffffff"
android:choiceMode="singleChoice"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</ListView>
让我知道,直到你得到解决方案?