1

ボタンをクリックしたときに相互に変更したい2つのレイアウトがあります。これらは、次のようなフルスクリーンビューです。

<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

できることの1つは、両方のレイアウトを1つのxmlファイルで宣言してから、それを使用setVisibility(View.GONE)して特定のレイアウトを削除することです。これは、このstackoverflowの質問で確認できます。

于 2013-03-05T16:08:47.877 に答える
0

最も簡単な方法は、両方のFrameLayoutを適用し、一方の可視性をに、もうonClickListener一方の可視性をに変更することです。visiblegone

于 2013-03-05T16:02:25.693 に答える
0

はい、フレームレイアウトとボタンを使用するアクティビティでは、ボタンのリスナーを追加し、ボタンがクリックされたときに適切なアクションを実行する必要があります(この場合はレイアウトを変更します)

于 2013-03-05T16:05:57.730 に答える
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 に答える