안드로이드 스튜디오로 자바 GUI랑 똑같이 작업해보기

2023. 7. 26. 15:49Android Studio

액티비티는 애석하게 오직 1개의 뷰만 배치할 수 있음

그래서 여러개의 뷰를 가질 수 있는 뷰그룹 객체를 생성함

그 뷰그룹안에 TextView와 Button을 추가하고..

액티비티에는 뷰 그룹객체 1개만 붙임.

뷰그룹용 클래스 중에서 가장 간결하고 사용하기 편한

LinearLayout[선형배치방식 - 수직 or 수평] 클래스를 사용해 작업해보기

package com.tsj2023.ex01hellobyjava;

import androidx.appcompat.app.AppCompatActivity;

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

public class MainActivity extends AppCompatActivity {

    //화면에 보이는 뷰들의 참조변수들 -- 가급적 멤버변수로...

    TextView tv;
    Button btn;
    LinearLayout layout;
    int num=0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);

        // Java언어 만으로 화면 꾸미기

        // 액티비티에 놓여질 수 있는 것은 View클래스를 상속받은 클래스들만 가능함

        // 글씨를 보여주는 액자(뷰)인 TextView 객체 생성 및 설정
        tv= new TextView(this); //모든 뷰 안에는 this
        tv.setText("Hello world");
        tv.setTextSize(30);


        //액티비티에 TextView를 보여주기
        //this.setContentView(tv);

        // 버튼역할을 하는 액자(뷰)인 Button 객체 생성 및 설정
        btn=new Button(this);
        btn.setText("버튼");

        // 액티비티에 Button을 보여주기
        //setContentView(btn);
        
        // 뷰그룹용 클래스 중에서 가장 간결하고 사용하기 편한
        // LinearLayout[선형배치방식 - 수직 or 수평] 클래스를 사용하기
        layout= new LinearLayout(this);
        layout.setOrientation(LinearLayout.VERTICAL); // VERTICAL 수직

        // 뷰 그룹에 뷰들을 추가하기
        layout.addView(tv);
        layout.addView(btn);

        //액티비티에 뷰 그룹 붙이기..
        setContentView(layout);

        // 버튼이 클릭되는 것에 반응하기.. 리스너 설정
        View.OnClickListener listener= new View.OnClickListener() { //익명클래스

            // 감시하는 버튼이 클릭되면 자동으로 발동하는 콜백메소드
            @Override
            public void onClick(View view) {
                //글씨를 보여주는 액자(TextView)의 글씨를 변경 설정
                num++;
                tv.setText("Nice to meet you - " + num);
            }
        };
        btn.setOnClickListener(listener);
    }
}

'Android Studio' 카테고리의 다른 글

CompoundButton  (0) 2023.08.09
ImageView  (0) 2023.08.09
Widget 만들기  (0) 2023.08.09
TextView의 속성들  (0) 2023.08.01
안드로이드 스튜디오 첫 수업  (0) 2023.07.26