반응형

1. 시험환경

- Android Studio v4.2

- JAVA

 

2. 목적

- FrameLayout에서 TextView 전환하는 방법을 알아보자.

 

3. 적용

① Layout 컴포넌트 (activity_main.xml)

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

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="click"
        android:onClick="onBtnClicked" />


        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TextView
                android:id="@+id/txt03"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#8866ff"
                android:text="텍스트"
                android:textSize="60sp"
                android:visibility="invisible" />

            <TextView
                android:id="@+id/txt02"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#ff8866"
                android:text="텍스트"
                android:textSize="40sp"
                android:visibility="invisible" />

            <TextView
                android:id="@+id/txt01"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#33af55"
                android:text="텍스트"
                android:textSize="20sp"
                android:visibility="invisible" />
        </FrameLayout>
</LinearLayout>

 

 

② 버튼을 클릭하면 TextView가 전환하는 동작 코드 구현 (MainActivity.java)

package com.study.studylayout;

import androidx.appcompat.app.AppCompatActivity;

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

public class MainActivity extends AppCompatActivity {


    int idx 0;
    TextView txtView1;
    TextView txtView2;
    TextView txtView3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        txtView1 = findViewById(R.id.txt01);
        txtView2 = findViewById(R.id.txt02);
        txtView3 = findViewById(R.id.txt03);
    }


    public void onBtnClicked(View v) {
        changeView();
    }


    private void changeView() {
        if (idx == 0)
        {
            txtView1.setVisibility(View.VISIBLE);
            txtView2.setVisibility(View.INVISIBLE);
            txtView3.setVisibility(View.INVISIBLE);
            idx 1;
        }

        else if (idx == 1)
        {
            txtView1.setVisibility(View.INVISIBLE);
            txtView2.setVisibility(View.VISIBLE);
            txtView3.setVisibility(View.INVISIBLE);
            idx 2;
        }

        else if (idx == 2)
        {
            txtView1.setVisibility(View.INVISIBLE);
            txtView2.setVisibility(View.INVISIBLE);
            txtView3.setVisibility(View.VISIBLE);
            idx 0;
        }

    }
}

 

4. 결과

- "CLICK" 버튼 클릭시 FrameLayout에 배치된 TextView가 전환되는 것을 확인한다.

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형

+ Recent posts