按下按钮时如何进入下一个布局(不是活动)?

时间:2011-09-12 07:02:10

标签: android layout android-layout

我想创建指令,所以当用户按下我要设置的下一个按钮时 下一个布局页面。我试过setContentView(R.layout.aboutus);,但看起来设置了新的 布局到特定页面。

布局:

 <?xml version="1.0" encoding="UTF-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:background="#dddddd">
        <LinearLayout android:gravity="center" android:background = "@drawable/aboutus"
            android:orientation="vertical" android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
    </LinearLayout>

代码:

 public void onItemClick(AdapterView<?> parent, View view, int position,
                long lg) {
            switch (position) {

            case 4:
                setContentView(R.layout.aboutus);
            }

        }

所以,我想知道如何在没有新活动的情况下进入下一个布局,并且可以返回上一页。谢谢。

4 个答案:

答案 0 :(得分:5)

您应该使用ViewFlipper

获取对ViewFlipper的引用:

ViewFlipper myViewFlipper = (ViewFlipper) findViewById(R.id.my_viewFlipper);

然后您将每个页面充气为视图:

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.your_layout_id, null);

然后将其添加到ViewFlipper:

myViewFlipper.addView( view );

然后,当用户点击下一页的按钮时,您可以调用此方法:

myViewFlipper.showNext();

或者如果您想要上一页:

myViewFlipper.showPrevious();

答案 1 :(得分:3)

使用ViewSwitcher或ViewFlipper。

答案 2 :(得分:0)

您可以尝试在布局中放置相同的页面并设置其所有组件以设置Visibility.GONE,当您按下按钮时,将所有可见小部件设置为GONE,将其他部件设置为Visible。或者您可以尝试动态扩充程序(以充气您的视图),因为您可以使用单独的布局来扩充视图。 有关充气的更多信息,请查看此处 http://developer.android.com/reference/android/view/LayoutInflater.html

答案 3 :(得分:0)

可能你可以这样做:

如果您有两种不同的布局,并且每次都想要一种布局。

首先通过findviewbyid方法获取每个布局的ID。

然后使用

    firstlayout.setVisibility(View.VISIBLE).
     secondlayout.setVisibility(View.GONE);

显示第一个布局。

当您按下按钮时,在其点击监听器中

     firstlayout.setVisibility(View.GONE).
     secondlayout.setVisibility(View.VISIBLE);

它可以工作,但布局应该是分开的。

希望它有所帮助。