Android

Android] Button 클릭 시 화면 전환(Intent사용)

김코식 2022. 1. 12. 18:33

화면 전환을 위해 두개의 액티비티가 필요하다

 

첫 번째 레이아웃

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="1번 화면"
    android:textSize="100dp"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />


<Button
    android:id="@+id/btn"
    android:layout_width="300dp"
    android:layout_height="300dp"
    android:text="화면 전환"
    android:textSize="80dp"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"

    ></Button>

화면 전환을 위한 버튼을 하나 만들어줍니다.

 

첫 번째 화면

 

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintBottom_toBottomOf="parent"
    android:text="2번 화면"
    android:textSize="100dp"
    ></TextView>

두 번째 레이아웃

 

두 번째 화면

두 번째 화면

 

 

이제 액티비티에서 화면 전환을 위한 코딩을 해주면 됩니다.

 

java파일을 하나 더 만들어 줍니다.

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
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);
        setContentView(R.layout.activity_main);

        Button button = (Button) findViewById(R.id.btn);
        button.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                Intent intent = new Intent(getApplicationContext(), SubActivity.class);
                startActivity(intent);
            }
        });
    }
}

MainActivity.java

 

package com.example.myapplication;

import android.os.Bundle;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

public class SubActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sub);
    }
}

SubActivity.java

 

여기까지 작성 한 후 매니페스트 파일 <application> 안에 <activity android:name = ".SubActivity"를 작성 해 주면 화면 전환이 잘 되는 것을 볼 수 있습니다.