2

我想为我的应用程序设置一些类似菜单的导航器。

主页面有一个listView,它包含两个item,点击每个item都会用ViewFlipper显示它的子view,如果用户点击返回按钮,他会再次回到主页。

问题是怎么做,我只能用ViewFlipper翻到下一屏或者上一屏,这里怎么管理这些子视图呢?如何将它们放在我的布局 xml 文件中?

4

1 回答 1

3

下面是一种伪方式。

//在OnCreate中,给你的listview添加一个点击监听,让view翻转到下一个view。

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);
}

// 用于viewflipper的xml,列表视图作为“第一页”,简单的文本视图作为“第二页”

<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> 
于 2010-05-02T10:03:13.250 回答