Android 앱 화면 전환의 기초

하고 싶은 일



Android Studio를 사용하여 Java에서 앱을 구현할 때.
한 버튼을 클릭하면 다른 화면으로 전환됩니다.
그리고 "뒤로 버튼"을 누르면 원래 화면으로 돌아갑니다.

페이지 구성



두 페이지 "page1.xml""page2.xml"을 만듭니다.
서로 전환하는 버튼을 놓고 각 ID에 "to_page2""to_page1"을 부여합니다.
알기 쉽게 띠의 색을 바꾸어 둔다.

첫 페이지





page1.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#3F51B5"
        android:text="このページは「page1」です。"
        android:textColor="#FFFFFF" />

    <Button
        android:id="@+id/to_page2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="押したらpage2へ" />

</LinearLayout>

두 번째 페이지





page2.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#E91E63"
        android:text="このページは「page2」です。"
        android:textColor="#FFFFFF" />

    <Button
        android:id="@+id/to_page1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="押すとpage1へ戻る" />
</LinearLayout>


메인 처리



MainActivity.java를 아래와 같이 구현한다.

MainActivity.java
package com.example.yamato191019a;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 最初に表示されるページはpage1
        setContentView(R.layout.page1);
        setToPage2();
    }

    /**
     * 「押すとpage1へ戻る」ボタンが押されたときに、1ページ目を表示する。
     */
    protected void setToPage1()
    {
        Button buttonToPage1 = this.findViewById(R.id.to_page1);
        buttonToPage1.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                setContentView(R.layout.page1);
                setToPage2();
            }
        });
    }

    /**
     * 「押したらpage2へ」ボタンが押されたときに、2ページ目を表示する。
     */
    protected void setToPage2()
    {
        Button buttonToPage2 = this.findViewById(R.id.to_page2);
        buttonToPage2.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                setContentView(R.layout.page2);
                setToPage1();
            }
        });
    }
}


따라서 버튼을 누르면 페이지 표시가 서로 전환됩니다.

좋은 웹페이지 즐겨찾기