1

我有两个布局,我想在单击按钮时相互更改。它们是这样的全屏视图:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF0000"
tools:context=".FullscreenActivity" >

我希望它们在单击时在它们之间进行更改

 <Button
 android:id="@+id/green_button"
 style="?buttonBarButtonStyle"
 android:layout_width="0dp"
 android:layout_height="wrap_content"
 android:layout_weight="1"
 android:text="@string/green" />

我是否应该更改 src/com.example.layout/fullscreenactivity.java onClick() 中的某些内容,或者我可以在哪里更改以使这种情况发生?

非常感谢提前

4

5 回答 5

1
rb = (Button) findViewById(R.id.green_button);
rb.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
            setContentView(R.layout.OtherLayout);
// now in order to use other layout button, image or any child function you have to declare it under the                 setContentView(R.layout.OtherLayout);

    }
});

请接受答案:)

于 2013-03-05T16:04:36.250 回答
0

最简单的方法是同时应用 FrameLayouts,并且onClickListener只改变一个到visible另一个的可见性gone

于 2013-03-05T16:02:25.693 回答
0

是的,在您使用框架布局和按钮的活动中,您必须为按钮添加一个侦听器以及单击按钮时发生的适当操作(在您的情况下 - 更改布局)

于 2013-03-05T16:05:57.730 回答
0

您可以做的一件事是在一个xml文件中声明两种布局,然后用于setVisibility(View.GONE)删除特定布局。您可以在这个stackoverflow 问题中看到这一点。

于 2013-03-05T16:08:47.877 回答
0
layout1 = (FrameLayout)findViewById(R.id.frameLayout1);
layout2 = (FrameLayout)findViewById(R.id.frameLayout2);
layout2.setVisibility(View.GONE);
mButton = (Button)findViewById(R.id.green_button);

mButton.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
            layout1.setVisibility(View.GONE);
            layout2.setVisibility(View.VISIBLE);

    }
});
于 2013-03-05T16:11:03.247 回答