如何在现有Activity中加载另一个Layout xml文件?

时间:2012-10-19 09:55:36

标签: android android-layout

我创建了一个活动,其中有四个按钮位于中心。我希望当我点击任何按钮然后应该打开另一个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"

/>

3 个答案:

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