我创建了一个活动,其中有四个按钮位于中心。我希望当我点击任何按钮然后应该打开另一个Xml文件。我不想继续进行其他活动。我想用新的Xml显示相同的Activity。这个新的Xml隐藏了前一个。
第一个xml是: -
<include
android:id="@+id/header"
layout="@layout/header"
android:layout_alignParentTop="true">
</include>
<Button
style="@style/homePageBtnStyle"
android:id="@+id/howToUse"
android:layout_centerHorizontal="true"
android:layout_marginTop="110dp"
android:text="@string/howToUse"
/>
<Button
style="@style/homePageBtnStyle"
android:id="@+id/purposeOfApp"
android:layout_alignLeft="@+id/howToUse"
android:layout_marginTop="10dp"
android:text="@string/purposeOfApp"
android:layout_below="@+id/howToUse"
/>
<Button
style="@style/homePageBtnStyle"
android:id="@+id/rateThisApp"
android:layout_alignLeft="@+id/purposeOfApp"
android:layout_marginTop="10dp"
android:text="@string/rateThisApp"
android:layout_below="@+id/purposeOfApp"
/>
和第二个xml是: -
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:text="@string/howtousetext"
android:id="@+id/textInstruction"
android:textColor="@color/btn_border"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:
android:background="@color/themeColor"
/>
答案 0 :(得分:4)
您可以做的最好的事情是使用ViewFlipper。您可以在单个ViewFlipper中包含多个布局,并且可以使用showNext()和showPrevious()从一个布局导航到另一个布局。 而且由于你只有两个视图,这变得非常简单。
答案 1 :(得分:1)
再次使用第二个xml id调用setContentView并调用invalidate()。
答案 2 :(得分:0)
试试这个:
Button button1 = (Button) this.findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Test1Activity.this.setContentView(R.layout.main2);
}});