我正在为我的应用程序和菜单使用SlidingMenu,我得到了一个简单的 ListFragment 工作。但这只是 5 个选项的 1 个直接列表。我想要的是顶部有 3 个设置,底部有 2 个设置(因此,我认为有多个列表)。
我想要的是类似于这个 Foursquare 菜单的东西:
我可以用 ListFragment 做到这一点吗?
目前,我的 ListFragment 看起来像这样 -
public class MenuListFragment extends ListFragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.menu_list, null);
}
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
MenuAdapter adapter = new MenuAdapter(getActivity());
adapter.add(new SampleItem("Home", android.R.drawable.ic_menu_search));
adapter.add(new SampleItem("Help", android.R.drawable.ic_menu_search));
adapter.add(new SampleItem("Settings", android.R.drawable.ic_menu_search));
adapter.add(new SampleItem("Feedback", android.R.drawable.ic_menu_search));
adapter.add(new SampleItem("Rate this App", android.R.drawable.ic_menu_search));
setListAdapter(adapter);
}
private class SampleItem {
public String tag;
public int iconRes;
public SampleItem(String tag, int iconRes) {
this.tag = tag;
this.iconRes = iconRes;
}
}
public class MenuAdapter extends ArrayAdapter<SampleItem> {
public MenuAdapter(Context context) {
super(context, 0);
}
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.menu_row, null);
}
ImageView icon = (ImageView) convertView.findViewById(R.id.row_icon);
icon.setImageResource(getItem(position).iconRes);
TextView title = (TextView) convertView.findViewById(R.id.row_title);
title.setText(getItem(position).tag);
return convertView;
}
}
}
而且 menu_list XML 非常简单——
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/list_padding"
android:paddingRight="@dimen/list_padding" />
但现在我试图将其转换为 2 个列表,一个在顶部,一个在底部。我将布局更改为以下内容,但我认为我的做法不正确 -
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_weight="1"
android:layout_alignParentTop="true" />
<ListView android:id="@+id/list2"
android:layout_width="fill_parent"
android:layout_weight="1"
android:layout_alignParentBottom="true" />
</LinearLayout>
有什么建议么?ListFragment 将如何更改以处理 2 个列表?任何帮助,将不胜感激。