Android Kotlin Button Style - outline, text button
Notepad96
·2021. 12. 7. 23:46
300x250
1. 결 과
2. activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
tools:context=".MainActivity">
<Button
style="@style/DefaultButton"
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="30dp"
android:text="Default Button" />
<Button
style="@style/OutLineButton"
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="30dp"
android:text="OutLine Button" />
<Button
style="@style/TextButton"
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="30dp"
android:text="Text Button" />
</LinearLayout>
# 각각의 버튼은 기본 버튼, 테두리 있는 버튼, 텍스트 형 버튼 스타일을 갖는다.
3. styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="DefaultButton" parent="Widget.MaterialComponents.Button">
<item name="strokeColor">#008800</item>
<item name="strokeWidth">4dp</item>
<item name="android:textColor">@color/black</item>
<item name="backgroundTint">#eeffee</item>
</style>
<style name="OutLineButton" parent="Widget.MaterialComponents.Button.OutlinedButton">
<item name="strokeColor">#aa0000</item>
<item name="strokeWidth">4dp</item>
<item name="backgroundTint">#333333</item>
<item name="android:textColor">@color/white</item>
</style>
<style name="TextButton" parent="Widget.MaterialComponents.Button.TextButton">
<item name="android:textColor">@color/black</item>
</style>
</resources>
# 버튼 스타일은 기본적으로 'Widget.MaterialComponents.Button'을 상속 받아서 선언
# strokeColor로 테두리 색을, strokeWidth로 테두리 굵기를 변경 가능
# Button과 OutlinedButton, TextButton의 차이는 각 이름의 맞게 커스텀 되어 있는 것
예를 들어 TextButton의 테두리는 투명하다.
따라서 Button을 사용하여 직접 커스텀하면 다른 스타일을 사용하지 않아도 무관하다.
4. 전체 코드
300x250
'Android' 카테고리의 다른 글
Android Kotlin SharedPreferences - 데이터 저장 (0) | 2021.12.19 |
---|---|
Android Kotlin programmatically button style - 동적 버튼 스타일 적용 (0) | 2021.12.08 |
Android Kotlin Snackbar - 안내 메시지 표시 (0) | 2021.11.01 |
Android Kotlin Intent Class Data put, get - Class Data 값 전달, 값 받기 (0) | 2021.10.31 |
Android Kotlin Intent putExtra, getExtra - 값 전달, 값 받기 (0) | 2021.10.31 |