본문 바로가기
Android

[Android] 기본적인 UI 활용: text, background, layout, margin, padding, gravity, visibility

by eyoo 2022. 7. 8.

안드로이드의 기본적으로 자주 쓰이는 UI 설정을 살펴보자.

 

먼저 TextView의 Attribute를 보자

 

# Declared Attriburtes는 한번 설정되어진 항목들이 모여서 나열되어있는데 이것을 조정하면 편하게 수정할수있다.

 

 

가장위에 있는 id는 현재 지정된 TextView의 id 이며 메인 자바파일에서 연결시켜줄때 사용된다.

 

위의 돋보기 모양의 검색버튼을 사용하여 키워드를 사용해 필요한 항목들을 볼수있다.

 

먼저 텍스트의 크기와 색상을 변성하고싶을때는 text를 검색하여 설정해주면된다.

 

# text에 원하는 문구를 적어서 텍스트 내용을 바꾼다.

# textColor에 스포이드 버튼을 클릭하여 글씨의 색을 바꿀수있다.

# textSize로 글자 크기를 변경할수있다. (단위는 sp인것에 유의하자)

 

 

이를 코드에서도 설정해줄수있다.

 

        android:text="Hello My App"
        android:textColor="#1976D2"
        android:textSize="24sp"

 

 

이제 TextView를 원하는 색으로 채우기 위해 backgroud를 검색하여 채워보자.

 

# Button의 경우 backgroundTint를 설정해야 한다.

 

 

코드로 백그라운드 색을 설정할수있다.

 

        android:background="#E6D9AB"

 

 

레이아웃을 설정해서 TextView의 크기를 조정할수있다.

 

# layout_height과 layout_width를 설정하여 크기를 어떻게 조절할건지 알려줄수있다.

# 기본적으로 wrap_content (들어있는 콘텐트의 크기만큼 커진다) 와 match_parent (화면 크기만큼 커진다) 가 있다.

# 직접 사이즈를 숫자를 입력하여 조정할수도 있다. (단위는 dp를 사용하는것에 유의하자)

# layout_margin을 설정하여 화면 가장자리에서 늘어나는 길이에 제한을 두어 공간이 생기게끔 할수있다,

 

 

코드로 레이아웃 설정할수있다.

 

    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="20dp"
    android:layout_marginTop="100dp"
    android:layout_marginRight="20dp"

 

 

gravity를 설정하여 글자를 정렬해줄수있다.

 

# ' | '를 사용해서 두개 이상의 설정값으로 조합하여 정렬할수도 있다.

 

 

해당 코드:

 

    android:gravity="center_vertical|end"

 

 

padding은 마진과 다르게 콘텐트 안에서의 공간을 두는것이다.

 

# 마진과 같이 상하좌우로 설정할수있다.

 

 

해당코드:

 

    android:layout_marginLeft="20dp"
    android:layout_marginTop="100dp"
    android:layout_marginRight="20dp"

 

 

visibility로 사용자의 눈에 해당 항목이 보이거나 보이지 않게 설정할수있다.

 

# visible은 사용자의 눈에 보일수있다. (기본값이다)

# invisible은 사용자의 눈에 보이지 않지만 존재한다.

# gone은 사용자의 눈에 보이지도 않으며 해당 화면에서 사라져있다.

 

 

해당 코드:

 

  android:visibility="invisible"

 

 

따로 버튼을 만들어서 버튼을 누르면 택스트가 보이도록 해보자.

 

    // 화면에서 view 가져온다
    TextView txtTitle;
    Button button;

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

        txtTitle = findViewById(R.id.txtTitle);
        button = findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                txtTitle.setVisibility(View.VISIBLE);


            }

 

 

버튼을 누르니 텍스트가 보인다.

 

 

 

 

 

 

 

댓글