我想为我的应用设置一些类似菜单的导航器。
主页面中有一个listView,它包含两个项目,点击每个项目将使用ViewFlipper显示其子视图,如果用户点击后退按钮,他将再次返回主页。
问题是如何制作它,我只能使用ViewFlipper翻到下一个屏幕或prev屏幕,如何在这里管理这些子视图?如何将它们放在我的布局xml文件中?
答案 0 :(得分:3)
下面是一个psudo方式。
//在OnCreate中,向列表视图添加一个点击监听器,使视图翻转到下一个视图。
viewflipper = (ViewFlipper) findViewById(R.id.viewflipper);
listview = (ListView) findViewById(R.id.listview);
listview.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
viewflipper.showNext();
});
//覆盖你的Activty中的onKeyDown来处理后退按钮点击。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if(viewflipper.getVisibleChild() != 0){
viewflipper.showPrevious();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
// xml for viewflipper vith listview为“firstpage”,简单textview为“second page”
<ViewFlipper android:id="@+id/viewflipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView android:id="@+id/listview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView android:id="@+id/secondview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="This is the second view"
/>
</ViewFlipper>