반응형
2020 안드로이드 스튜디오 Drawable 드로어블 생성법
안드로이드에서는 /app/res/drawable 폴더에 .xml 파일을 만들어 드로어블 객체를 만들 수 있습니다. 테두리(stroke) 지정, 모서리 둥글게(corners), 도형 색 채우기(solid), 모양 지정(shape) 등 다양한 태그를 사용하면 됩니다.
간단히 다음과 같이 버튼에 적용할 수 있는 Drawable 드로어블 객체를 만들어보겠습니다.
STEP 1 res/drawable 를 누르시고 오른쪽 마우스 New - Drawable Resource File를 클릭합니다.
STEP 2 파일 이름을 입력하고 OK버튼을 누릅니다
저는 버튼(button)의 배경(background)에 사용할 거라서 bg_btn이라고 했습니다
STEP 3 상위 태그를 selector에서 shape로 변경합니다.
STEP 4 다음 코드를 작성합니다.
bg_btn.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<!--테두리 선-->
<stroke
android:width="8dp"
android:color="#000B6F"/>
<!--색 채우기-->
<solid
android:color="#CDDCE1"/>
<!--모서리 둥글게-->
<corners
android:radius="20dp"/>
<!--패딩값 둥글게-->
<padding
android:top="20dp"
android:left="20dp"
android:right="20dp"
android:bottom="20dp"/>
</shape>
STEP 5 원하는 개체에 적용합니다.
저는 버튼의 배경(background)로 지정하였습니다.
파일명 몇 자만 적으시면 아래 목록이 뜹니다.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="확인하기"
android:textSize="50sp"
android:background="@drawable/bg_btn"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
반응형
'컴퓨터 공학 > Android' 카테고리의 다른 글
[2020 안드로이드 스튜디오] Drawable 드로어블 애니메이션 그라데이션 (422) | 2020.04.22 |
---|---|
[2020 안드로이드 스튜디오] Drawable 드로어블 그라데이션 (392) | 2020.04.22 |
[2020 안드로이드 스튜디오] 폰트, 배경 색상 쉽게 지정 및 변경하기 (3409) | 2020.04.22 |
[안드로이드 스튜디오] Android 런처 앱 아이콘 변경하기 (3743) | 2020.04.21 |
[ 안드로이드 프로그래밍 ] 핸들러로 메시지 전송하기 ( 예제 포함 ) (2399) | 2020.04.08 |
댓글