我通过从Listview中删除my_list.xml
默认分隔符来设置我的自定义分隔符:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/app_background">
<ListView android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:dividerHeight="0dp"/>
</LinearLayout>
并在View
中的每个项目下添加my_item.xml
(RelativeLayout
保留项目图标; LinearLayout
保存项目文字):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@color/white">
<RelativeLayout
android:layout_width="60dp"
android:layout_height="match_parent">
<ImageView
android:id="@+id/icon"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/staticmap" >
</ImageView>
</RelativeLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
...
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#E4E4E4"
/>
</LinearLayout>
</LinearLayout>
由于我在每个项目文本下都有托管分隔符(View),但在项目图标下没有。
在列表中的最后一项之后,我希望分隔符在图标下也可见:
以下是布局通胀:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<DummyContent.DummyItem>(getActivity(),
R.layout.my_item, R.id.label, DummyContent.ITEMS));
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.my_list, null);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
getListView().addFooterView(getLayoutInflater(savedInstanceState).inflate(R.layout.my_footer, null));
super.onActivityCreated(savedInstanceState);
}
答案 0 :(得分:0)
只需在图标下添加相同的分隔视图。
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:visibility="gone"
android:background="#E4E4E4"/>
并通过检查它是否是getView()
ListView
中可见
或者
只需将该全宽分隔线视图添加到页脚,并使用相同的getView()