嘿,我有一个列表视图,里面装满了“自定义”TextViews(为方便起见,我只添加了一个方法)
mRootView = inflater.inflate(R.layout.fragment_session_list, container, false);
mLV = (ListView) mRootView.findViewById(R.id.session_list);
mLV.setAdapter(SessionManager.getInstance(getActivity().getApplicationContext()));
mLV.setDivider(new ColorDrawable(Color.RED));
mLV.setDividerHeight(20);
mLV.setBackground(new ColorDrawable(Color.YELLOW));
ListView是ViewPager的片段,也是屏幕上显示的唯一内容
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/session_list"
style="@style/main.list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:smoothScrollbar="true">
</ListView>
完成的风格
<style name="main">
</style>
<style name="main.list">
<item name="android:divider">#f00</item>
<item name="android:dividerHeight">4px</item>
</style>
<style name="main.list.item">
<item name="android:textColor">#f00</item>
<item name="android:textSize">32dp</item>
<item name="android:layout_height">48dp</item>
<item name="android:layout_width">match_parent</item>
<item name="android:background">#0ff</item>
</style>
分隔线不是shonw。相反,黄色背景是可见的。 有什么想法吗?
编辑:如果我足够快地拉出列表视图,那么顶部是红色的。 (滚动的“过冲”部分)
答案 0 :(得分:0)
如果要更改颜色/可绘制,则必须设置/重置分隔符的高度。 我用
试了一下<ListView
android:id="@+id/listViewInstituate"
android:layout_width="fill_parent"
android:layout_height="313dp"
android:choiceMode="singleChoice"
android:dividerHeight="1.9dp"
android:divider="@android:color/holo_red_light"
>
</ListView>
它工作正常。
但这需要api等级14,
android:divider="@android:color/holo_red_light"
所以你可以使用
android:divider="#FFCC00"
我检查了两个。谢谢
代码mLV.setDivider(new ColorDrawable(Color.RED));
和
<item name="android:divider">#f00</item>
让我感到困惑