Layout이란?
화면 안에 넣은 뷰의 크기와 위치를 지정하는 공간
-Layout 종류
Linear Layout
- 박스(Box) 모델을 기반한 Layout
- 한 쪽 방향으로 쌓는 방식으로 view들을 수직 또는 수평으로 구성
Cpnstraint Layout
- 제약조건(Constraint)을 사용해 화면을 구성하는 Layout
- 복잡한 레이아웃을 단순하게 계층구조를 이용하여 표현 할 수 있는 ViewGroup
- 각 View는 각 축(X,Y)에 대한 최소 하나의 제약 연결 필요
Chain linear groups 제어
Event 처리 방식
- XML로 Event Method 연결
- Listener interface를 Activity Class에 구현
- Listener Class를 익명 Class로 정의
계산기 실습
package com.example.ex_0707;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity4 extends AppCompatActivity {
//0. id값을 저장할 객체 이름 선언!
Button btn_plus, btn_sub, btn_mul,btn_div;
TextView txt_result;
//PlaneText를 가져오기 위하여 사용할 수 있는 객체 -> EditText
EditText txt_num1, txt_num2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main4);
//1. id정보값 가져오기
btn_plus = findViewById(R.id.btn_plus);
btn_sub = findViewById(R.id.btn_sub);
btn_mul = findViewById(R.id.btn_mul);
btn_div = findViewById(R.id.btn_div);
txt_result = findViewById(R.id.txt_result);
txt_num1 = findViewById(R.id.txt_num1);
txt_num2 = findViewById(R.id.txt_num2);
//2. 두개의 입력된 숫자값 가져오기
//3. 버튼 클릭시 해당하는 연산 진행하기 -> onClick 속성 사용! 메소드를 따로 만들어야 한다!
}
public void plus(View view){
//2. 두개의 입력된 숫자값 가져오기 -> getText()
//입력된 내용을 문자(String)형태로 받아온다.
// String num1 = txt_num1.getText().toString();
// String num2 = txt_num2.getText().toString();
//문자 -> 숫자로 변경하기 -> Integer.parsint()
// Log.d("num1",num1);
int n1 = Integer.parseInt(txt_num1.getText().toString()+"");
int n2 = Integer.parseInt(txt_num2.getText().toString()+"");
int result = n1 +n2;
//setText("문자")
txt_result.setText(String.valueOf(result));
}
public void subtraction(View view){
int n1 = Integer.parseInt(txt_num1.getText().toString()+"");
int n2 = Integer.parseInt(txt_num2.getText().toString()+"");
int result = n1-n2;
txt_result.setText(String.valueOf(result));
}
public void multiplication(View view){
int n1 = Integer.parseInt(txt_num1.getText().toString()+"");
int n2 = Integer.parseInt(txt_num2.getText().toString()+"");
int result = n1*n2;
txt_result.setText(String.valueOf(result));
}
public void divide(View view){
int n1 = Integer.parseInt(txt_num1.getText().toString()+"");
int n2 = Integer.parseInt(txt_num2.getText().toString()+"");
int result = n1/n2;
txt_result.setText(String.valueOf(result));
}
}