目前我正在使用标准的NavigationDrawer,它使用listview来显示项目。
但是有一个问题:此列表视图中的最后两个项目需要位于屏幕的底部,而其他项目位于顶部。看起来应该是这样的:
| item 1 |
| item 2 |
| item 3 |
| item 4 |
| item 5 |
-space -
-space -
-space -
| item 6 |
| item 7 |
我在考虑2个列表视图,但是小屏幕和滚动会出现问题。然后我考虑不使用listview,而是将每个项目分别放在那里(可能在ScrollView中使用LinearLayotu),不确定这是否是最佳方式。
有没有一种优雅的方法来实现这个目标?
答案 0 :(得分:0)
ListView将是一个不错的选择
试试这个
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
mDrawerListView = (ListView) inflater.inflate(R.layout.fragment_navigation_drawer, container, false);
mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
selectItem(position);
}
});
mDrawerListView.setAdapter(new ArrayAdapter<String>(getActionBar()
.getThemedContext(), android.R.layout.simple_list_item_1,
android.R.id.text1, new String[] {
getString(R.string.title_section1),
getString(R.string.title_section2),
getString(R.string.title_section3),
getString(R.string.title_section4),
getString(R.string.title_section5),
getString(R.string.title_section6),
getString(R.string.title_section7),
getString(R.string.title_section8),
getString(R.string.title_section9),
getString(R.string.title_section10),
getString(R.string.title_section11),
getString(R.string.title_section12),
getString(R.string.title_section13),
getString(R.string.title_section14),
}));
mDrawerListView.setItemChecked(mCurrentSelectedPosition, true);
return mDrawerListView;
}
activity_main XML:
<fragment
android:id="@+id/navigation_drawer"
android:name="com.example.demoapp.NavigationDrawerFragment"
android:layout_width="@dimen/navigation_drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start"
tools:layout="@layout/fragment_navigation_drawer" />
fragment_navigation_drawer.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:layout_width="match_parent"
android:layout_height="232dp"
android:layout_weight="1"
android:background="#fff"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
tools:context="com.example.demoapp.NavigationDrawerFragment" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Button" />
图片: