我想使用一个按钮来更改 xml 布局/视图(您将显示的页面究竟称为什么)。我开发了一个应用程序,其中包含大约 5 或 6 个页面,我需要能够使用按钮前进到页面并使用不同的按钮返回上一页。
按钮 1 是前进按钮
按钮 2 是后退按钮
按钮 3 是重置按钮(返回第一页)
提前感谢!
您可以为每个视图制作活动,或者您可以实现翻转查看器
样本布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button android:id="@+id/flip_me"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Flip Me!"
/>
<ViewFlipper android:id="@+id/details"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="#FF00FF00"
android:text="This is the first panel"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="#FFFF0000"
android:text="This is the second panel"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="#FFFFFF00"
android:text="This is the third panel"
/>
</ViewFlipper>
</LinearLayout>
示例活动:
public class FlipperSample extends Activity {
ViewFlipper flipper;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setContentView(R.layout.main);
flipper=(ViewFlipper)findViewById(R.id.details);
Button btn=(Button)findViewById(R.id.flip_me);
btn.setOnClickListener((View.OnClickListener) new flipMyView());
}
class flipMyView implements View.OnClickListener {
public void onClick(View view) {
flipper.showNext();
}
}
}
您可以使用 ViewFlippers,也可以在单击按钮时将布局设置为您的活动...
使用setContentView(R.layout.newLayout)
更改布局 在按钮上onClick
调用setContentView
不同的布局文件,如下所示
Button btn1 = (Button) findViewById(R.id.button1);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setContentView(R.layout.newLayout);
}
});
注意:由于您这样做findViewById(R.id.button1)
会创建NullPointerException
该视图没有该元素的情况,因此请小心