반응형
□ UI를 작성하는 3가지 방법
- 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">
<RatingBar
android:id="@+id/ratingbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:stepSize="1.0"/>
</LinearLayout>
- 코드로 기술
package com.example.codemview;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.LinearLayout;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout container = new LinearLayout(this);
container.setOrientation(LinearLayout.VERTICAL);
Button b1 = new Button(this);
b1.setText("첫번째 버튼");
container.addView(b1);
setContentView(container);
}
}
- 비주얼 도구 사용
□ 뷰(View)
모든 뷰들의 부모 클래스
View 클래스의 필드나 메소드는 모든 뷰에서 공통적으로 사용가능
- id : 뷰의 식별자
- 뷰의 위치와 크기
match_parent | 부모의 크기를 꽉 채움(=fill_parent) |
wrap_parent | 뷰가 나타내는 내용물의 크기에 맞춤 |
- 색상 : 16진수 RGB값 표시
- 뷰의 크기 단위
px(pixels) |
화면의 실제 픽셀을 나타냄 권장 단위 X -> 장치마다 화면의 밀도가 다르기 때문 |
dp(density-independent pixels) |
160dpi에서 하나의 물리적 픽셀을 말함(160dp:1inch) 화면의 밀도가 다르더라도 동일한 크기로 표시 |
sp(scale-independent pixels) |
화면의 밀도와 사용자가 지정한 폰트 크기에 영향 받아 표현 폰트 크기를 지정할때 추천 |
pt(points) | 1/72 인치 표시 |
mm(millimeters) | 밀리미터 |
in(inches) | 인치 |
□ 마진과 패딩
- 패딩
오브젝트 내의 여백(내부여백)
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin" //내부여백 부여
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
- 마진
화면과의 여백(외부여백)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="16dp" //여백을 16dp씩 부여
android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
반응형
'안드로이드' 카테고리의 다른 글
[안드로이드] 여론조사앱 (0) | 2019.10.12 |
---|---|
[안드로이드]이벤트 처리 방법 (0) | 2019.10.07 |
[안드로이드] 안드로이드 기초사항 (0) | 2019.10.07 |
[Android] 멀티 터치 (Multi Touch) (0) | 2019.10.07 |
[안드로이드] 별 평가(Rating Bar) (0) | 2019.10.03 |
댓글