1. xml을 이용하지 않고 자바에서만 레이아웃 만들기


1) MainActivity.java


package com.progdv.app2_ui;


import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Button;
import android.widget.LinearLayout;

public class MainActivity extends AppCompatActivity {

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

Button btn1 = new Button(this); // 버튼 객체 생성
btn1.setText("Button1"); // 버튼 이름 지정

Button btn2 = new Button(this); // 버튼 객체 생성
btn2.setText("Button2"); // 버튼 이름 지정

LinearLayout li = new LinearLayout(this);
li.setOrientation(LinearLayout.VERTICAL); // vertical: 수직정렬
li.addView(btn1);
li.addView(btn2);
setContentView(li);
}
}








원하는 모듈만 선택하여 실행하기: 실행 버튼(화살표) 왼쪽의 안드로이드 로고 클릭








2. xml을 이용하여 자바와 연동한 레이아웃 만들기


1) layout 안의 activity_main.xml


- LinearLayout을 쓰려면 android:orientation="vertical"로 정렬을 해줘야 한다.

- 좌우를 맞춰 채우려면 wrap_content 대신 match_parent를 해준다.


<?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">

<Button
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="첫번째 버튼" />

<Button
android:id="@+id/btn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="두번째 버튼" />

</LinearLayout>



2) java 안의 MainActivity.java


LinearLayout을 쓰려면 android:orientation="vertical"로 정렬을 해줘야 한다.


package com.progdv.app3_ui;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

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

Button btn1 = (Button)findViewById(R.id.btn1);
Button btn2 = (Button)findViewById(R.id.btn2);

btn1.setText("코드에서도 변경 가능");
btn2.setEnabled(true);
}
}





Posted by netyhobby
,