我想创建指令,所以当用户按下我要设置的下一个按钮时
下一个布局页面。我试过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);
}
}
所以,我想知道如何在没有新活动的情况下进入下一个布局,并且可以返回上一页。谢谢。
答案 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);
它可以工作,但布局应该是分开的。
希望它有所帮助。