반응형
Android Button 배경 투명 설정 방법
Android 앱 개발에서 Button 위젯의 배경을 투명하게 만들어야 하는 경우가 자주 발생합니다. 특히 이미지 위에 버튼을 배치하거나 커스텀 디자인을 구현할 때 필수적인 기능입니다. 이번 글에서는 Button 배경을 투명하게 설정하는 다양한 방법과 함께 투명도 조절, 색상 코드 이해, Theme별 주의사항까지 실무에서 바로 활용할 수 있는 모든 내용을 다룹니다.
목차
1. 16진수 색상 코드로 투명 배경 설정하기
2. Android 시스템 리소스 활용 방법
3. ARGB 색상 코드 완벽 이해하기
4. 다양한 투명도 적용 실전 예시
5. Theme별 투명 배경 호환성 해결
#1. 16진수 색상 코드로 투명 배경 설정하기
1) 직접 색상 코드 지정 방식
가장 확실하고 안정적인 방법은 android:background 속성에 16진수 색상 코드를 직접 지정하는 것입니다. 이 방법은 모든 Android 버전과 Theme에서 일관되게 동작합니다.
(1) 완전 투명 배경 설정
<Button
android:id="@+id/bt_confirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="확인"
android:background="#00000000" />
<!-- #00000000: 완전 투명한 배경 -->
android:id="@+id/bt_confirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="확인"
android:background="#00000000" />
<!-- #00000000: 완전 투명한 배경 -->
#00000000 코드는 완전히 투명한 배경을 의미합니다. 앞의 "00"이 투명도를 나타내며, 뒤의 "000000"은 검정색을 나타냅니다. 투명도가 100%이므로 뒤의 색상 값은 실제로 보이지 않습니다.
(2) 색상과 무관한 투명 배경
완전 투명 배경을 만들 때는 RGB 값이 무엇이든 상관없습니다. 다음 코드들은 모두 동일한 결과를 보여줍니다.
android:background="#00000000" <!-- 투명한 검정 -->
android:background="#00ffffff" <!-- 투명한 흰색 -->
android:background="#00ff0000" <!-- 투명한 빨강 -->
android:background="#0000ff00" <!-- 투명한 녹색 -->
// 모두 완전 투명으로 동일하게 보임
android:background="#00ffffff" <!-- 투명한 흰색 -->
android:background="#00ff0000" <!-- 투명한 빨강 -->
android:background="#0000ff00" <!-- 투명한 녹색 -->
// 모두 완전 투명으로 동일하게 보임
. . . . .
2) 색상 코드 지정의 장단점
| 구분 | 장점 | 단점 |
|---|---|---|
| 직접 코드 지정 | • 모든 Theme에서 일관된 동작 • 투명도 세밀 조절 가능 • 추가 리소스 불필요 |
• 코드 가독성 낮음 • 색상 재사용 어려움 |
| 시스템 리소스 | • 코드 가독성 높음 • 의미 명확 • 코드 간결 |
• Theme 호환성 이슈 가능 • 세밀한 투명도 조절 불가 |
#2. Android 시스템 리소스 활용 방법
1) 내장 transparent 리소스 사용
Android는 내부에 이미 선언된 transparent 색상 리소스를 제공합니다. 이를 활용하면 코드의 가독성이 높아지고 의도가 명확해집니다.
(1) 기본 투명 리소스 적용
<Button
android:id="@+id/bt_confirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="확인"
android:background="@android:color/transparent" />
<!-- Android 시스템의 투명 색상 리소스 -->
android:id="@+id/bt_confirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="확인"
android:background="@android:color/transparent" />
<!-- Android 시스템의 투명 색상 리소스 -->
@android:color/transparent는 Android 시스템이 제공하는 투명 색상으로, 별도의 색상 정의 없이 바로 사용할 수 있습니다.
. . . . .
2) Theme별 호환성 주의사항
Theme에 따라 투명도가 정상적으로 작동하지 않을 수 있습니다. 특히 Material Design Theme을 사용하는 경우 주의가 필요합니다.
(1) Theme별 동작 차이
| Theme | 투명 배경 동작 | 권장 방법 |
|---|---|---|
| Theme.AppCompat | 정상 작동 | 시스템 리소스 사용 가능 |
| Theme.Material3 | 기본 스타일 오버라이드 가능 | 직접 색상 코드 지정 권장 |
| Theme.Material | elevation 효과 적용됨 | style 속성 추가 필요 |
| 커스텀 Theme | Theme 정의에 따라 상이 | 직접 색상 코드 지정 권장 |
(2) Material Theme에서의 해결 방법
<!-- Material3 Theme에서 투명 배경 Button -->
<Button
android:id="@+id/bt_confirm"
style="@style/Widget.Material3.Button.TextButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="확인"
android:background="@android:color/transparent" />
<!-- 또는 직접 색상 코드 사용 -->
<Button
android:id="@+id/bt_cancel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="취소"
android:background="#00000000"
android:stateListAnimator="@null" />
<!-- stateListAnimator를 null로 설정하여 elevation 효과 제거 -->
<Button
android:id="@+id/bt_confirm"
style="@style/Widget.Material3.Button.TextButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="확인"
android:background="@android:color/transparent" />
<!-- 또는 직접 색상 코드 사용 -->
<Button
android:id="@+id/bt_cancel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="취소"
android:background="#00000000"
android:stateListAnimator="@null" />
<!-- stateListAnimator를 null로 설정하여 elevation 효과 제거 -->
. . . . .
3) 기타 유용한 시스템 색상 리소스
투명 외에도 Android 시스템이 제공하는 다양한 색상 리소스를 활용할 수 있습니다.
① @android:color/transparent: 완전 투명
② @android:color/white: 흰색
③ @android:color/black: 검정색
④ @android:color/background_light: 밝은 배경색
⑤ @android:color/background_dark: 어두운 배경색
② @android:color/white: 흰색
③ @android:color/black: 검정색
④ @android:color/background_light: 밝은 배경색
⑤ @android:color/background_dark: 어두운 배경색
#3. ARGB 색상 코드 완벽 이해하기
1) 8자리 색상 코드 구조 분석
Android에서 사용하는 색상 코드는 ARGB 형식으로 구성됩니다. "#00ff0000"과 같은 8자리 코드를 두 자리씩 나누어 분석하면 다음과 같습니다.
(1) ARGB 각 요소의 의미
#00ff0000
││││││└└─ 네번째: 청색 (Blue) - 00 = 0
││││└└─── 세번째: 녹색 (Green) - 00 = 0
││└└───── 두번째: 적색 (Red) - ff = 255
└└─────── 첫번째: 투명도 (Alpha) - 00 = 완전 투명
││││││└└─ 네번째: 청색 (Blue) - 00 = 0
││││└└─── 세번째: 녹색 (Green) - 00 = 0
││└└───── 두번째: 적색 (Red) - ff = 255
└└─────── 첫번째: 투명도 (Alpha) - 00 = 완전 투명
| 위치 | 요소 | 범위 | 의미 |
|---|---|---|---|
| 1-2번째 | Alpha (투명도) | 00 ~ FF (0 ~ 255) | 00: 완전 투명, FF: 완전 불투명 |
| 3-4번째 | Red (적색) | 00 ~ FF (0 ~ 255) | 빨강 색상의 강도 |
| 5-6번째 | Green (녹색) | 00 ~ FF (0 ~ 255) | 녹색 색상의 강도 |
| 7-8번째 | Blue (청색) | 00 ~ FF (0 ~ 255) | 파랑 색상의 강도 |
. . . . .
2) RGB 색상 혼합 원리
적색(Red), 녹색(Green), 청색(Blue)의 조합으로 다양한 색상을 만들 수 있습니다. 이는 빛의 삼원색을 기반으로 한 가산 혼합 방식입니다.
(1) 주요 색상 조합 예시
| 색상 | RGB 값 | 16진수 코드 | 미리보기 |
|---|---|---|---|
| 빨강 | R:255, G:0, B:0 | #FFFF0000 | |
| 녹색 | R:0, G:255, B:0 | #FF00FF00 | |
| 파랑 | R:0, G:0, B:255 | #FF0000FF | |
| 노랑 | R:255, G:255, B:0 | #FFFFFF00 | |
| 자홍 | R:255, G:0, B:255 | #FFFF00FF | |
| 청록 | R:0, G:255, B:255 | #FF00FFFF | |
| 흰색 | R:255, G:255, B:255 | #FFFFFFFF | |
| 검정 | R:0, G:0, B:0 | #FF000000 |
(2) 16진수와 10진수 변환
16진수는 0~9, A~F를 사용하며, 10진수로 변환하면 다음과 같습니다.
① 00 (16진수) = 0 (10진수)
② FF (16진수) = 255 (10진수)
③ 80 (16진수) = 128 (10진수) - 약 50% 투명도
④ C0 (16진수) = 192 (10진수) - 약 75% 불투명도
② FF (16진수) = 255 (10진수)
③ 80 (16진수) = 128 (10진수) - 약 50% 투명도
④ C0 (16진수) = 192 (10진수) - 약 75% 불투명도
#4. 다양한 투명도 적용 실전 예시
1) 투명도별 적용 사례
투명도(Alpha)를 조절하여 반투명 버튼을 만들 수 있습니다. 이는 오버레이 UI나 배경 이미지 위의 버튼에 유용합니다.
(1) 투명도 단계별 코드
<!-- 완전 투명 (0%) -->
<Button
android:background="#00000000" />
<!-- 25% 불투명 (75% 투명) -->
<Button
android:background="#40000000" />
<!-- 50% 불투명 (50% 투명) -->
<Button
android:background="#80000000" />
<!-- 75% 불투명 (25% 투명) -->
<Button
android:background="#BF000000" />
<!-- 완전 불투명 (0% 투명) -->
<Button
android:background="#FF000000" />
<Button
android:background="#00000000" />
<!-- 25% 불투명 (75% 투명) -->
<Button
android:background="#40000000" />
<!-- 50% 불투명 (50% 투명) -->
<Button
android:background="#80000000" />
<!-- 75% 불투명 (25% 투명) -->
<Button
android:background="#BF000000" />
<!-- 완전 불투명 (0% 투명) -->
<Button
android:background="#FF000000" />
(2) 투명도 퍼센트별 16진수 값
| 투명도 (%) | 불투명도 (%) | Alpha 값 (16진수) | Alpha 값 (10진수) |
|---|---|---|---|
| 100% | 0% | 00 | 0 |
| 90% | 10% | 1A | 26 |
| 75% | 25% | 40 | 64 |
| 50% | 50% | 80 | 128 |
| 25% | 75% | BF | 191 |
| 10% | 90% | E6 | 230 |
| 0% | 100% | FF | 255 |
. . . . .
2) 실무 활용 예시
실제 앱 개발에서 자주 사용되는 투명 버튼 패턴을 소개합니다.
(1) 이미지 오버레이 버튼
<FrameLayout
android:layout_width="match_parent"
android:layout_height="300dp">
<!-- 배경 이미지 -->
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/background_image"
android:scaleType="centerCrop" />
<!-- 반투명 어두운 오버레이 -->
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#80000000" />
<!-- 투명 배경 버튼 -->
<Button
android:id="@+id/bt_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="자세히 보기"
android:textColor="#FFFFFF"
android:background="#00000000"
android:padding="16dp" />
</FrameLayout>
android:layout_width="match_parent"
android:layout_height="300dp">
<!-- 배경 이미지 -->
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/background_image"
android:scaleType="centerCrop" />
<!-- 반투명 어두운 오버레이 -->
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#80000000" />
<!-- 투명 배경 버튼 -->
<Button
android:id="@+id/bt_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="자세히 보기"
android:textColor="#FFFFFF"
android:background="#00000000"
android:padding="16dp" />
</FrameLayout>
(2) 테두리만 있는 투명 버튼
<!-- drawable/bg_transparent_button.xml -->
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 투명한 배경 -->
<solid android:color="#00000000" />
<!-- 파란색 테두리 -->
<stroke
android:width="2dp"
android:color="#3498db" />
<!-- 모서리 둥글게 -->
<corners android:radius="8dp" />
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 투명한 배경 -->
<solid android:color="#00000000" />
<!-- 파란색 테두리 -->
<stroke
android:width="2dp"
android:color="#3498db" />
<!-- 모서리 둥글게 -->
<corners android:radius="8dp" />
</shape>
<!-- 레이아웃에서 사용 -->
<Button
android:id="@+id/bt_outline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="테두리 버튼"
android:textColor="#3498db"
android:background="@drawable/bg_transparent_button"
android:padding="12dp" />
<Button
android:id="@+id/bt_outline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="테두리 버튼"
android:textColor="#3498db"
android:background="@drawable/bg_transparent_button"
android:padding="12dp" />
(3) 클릭 시 반응하는 투명 버튼
<!-- drawable/bg_transparent_selector.xml -->
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 눌렀을 때: 반투명 회색 -->
<item android:state_pressed="true"
android:drawable="@color/pressed_state" />
<!-- 기본 상태: 완전 투명 -->
<item android:drawable="@android:color/transparent" />
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 눌렀을 때: 반투명 회색 -->
<item android:state_pressed="true"
android:drawable="@color/pressed_state" />
<!-- 기본 상태: 완전 투명 -->
<item android:drawable="@android:color/transparent" />
</selector>
<!-- values/colors.xml -->
<resources>
<color name="pressed_state">#40000000</color>
<!-- 25% 불투명도의 검정 -->
</resources>
<resources>
<color name="pressed_state">#40000000</color>
<!-- 25% 불투명도의 검정 -->
</resources>
<!-- 레이아웃에서 사용 -->
<Button
android:id="@+id/bt_interactive"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="클릭 반응 버튼"
android:background="@drawable/bg_transparent_selector" />
<Button
android:id="@+id/bt_interactive"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="클릭 반응 버튼"
android:background="@drawable/bg_transparent_selector" />
#5. Theme별 투명 배경 호환성 해결
1) Material Design 버튼의 특수성
Material Design Theme을 사용하는 Button은 기본적으로 elevation(그림자) 효과가 적용됩니다. 이로 인해 배경을 투명하게 설정해도 그림자가 남아있을 수 있습니다.
(1) Material 버튼의 elevation 제거
<Button
android:id="@+id/bt_material"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Material 투명 버튼"
android:background="#00000000"
android:stateListAnimator="@null"
app:elevation="0dp" />
<!-- elevation을 0으로 설정하여 그림자 제거 -->
android:id="@+id/bt_material"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Material 투명 버튼"
android:background="#00000000"
android:stateListAnimator="@null"
app:elevation="0dp" />
<!-- elevation을 0으로 설정하여 그림자 제거 -->
. . . . .
2) Theme별 권장 구현 방법
| Theme 종류 | 문제점 | 해결 방법 |
|---|---|---|
| Theme.AppCompat.Light | 특별한 문제 없음 | 직접 색상 코드 또는 시스템 리소스 모두 사용 가능 |
| Theme.Material3 | 기본 스타일 적용됨 | style="@style/Widget.Material3.Button.TextButton" 사용 |
| Theme.Material (구버전) | elevation 효과 | stateListAnimator="@null" 추가 |
| 커스텀 Theme | Theme 정의에 따라 상이 | 직접 색상 코드 사용 권장 |
(1) Material3에서 완벽한 투명 버튼
<!-- Material3 Theme의 TextButton 스타일 활용 -->
<Button
android:id="@+id/bt_text"
style="@style/Widget.Material3.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="텍스트 버튼"
android:background="@android:color/transparent" />
<!-- 또는 OutlinedButton 스타일 -->
<Button
android:id="@+id/bt_outlined"
style="@style/Widget.Material3.Button.OutlinedButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="외곽선 버튼"
android:backgroundTint="@android:color/transparent" />
<Button
android:id="@+id/bt_text"
style="@style/Widget.Material3.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="텍스트 버튼"
android:background="@android:color/transparent" />
<!-- 또는 OutlinedButton 스타일 -->
<Button
android:id="@+id/bt_outlined"
style="@style/Widget.Material3.Button.OutlinedButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="외곽선 버튼"
android:backgroundTint="@android:color/transparent" />
. . . . .
3) Kotlin/Java 코드에서 투명 배경 설정
XML이 아닌 코드에서 동적으로 버튼 배경을 투명하게 만들어야 하는 경우도 있습니다.
(1) Kotlin 코드 예시
// Kotlin에서 투명 배경 설정
val button = findViewById<Button>(R.id.bt_confirm)
// 방법 1: Color 클래스 사용
button.setBackgroundColor(Color.TRANSPARENT)
// 방법 2: 16진수 색상 코드
button.setBackgroundColor(Color.parseColor("#00000000"))
// 방법 3: ARGB 값 직접 지정
button.setBackgroundColor(Color.argb(0, 0, 0, 0))
// 방법 4: 리소스 색상 사용
button.setBackgroundColor(
ContextCompat.getColor(this, android.R.color.transparent)
)
val button = findViewById<Button>(R.id.bt_confirm)
// 방법 1: Color 클래스 사용
button.setBackgroundColor(Color.TRANSPARENT)
// 방법 2: 16진수 색상 코드
button.setBackgroundColor(Color.parseColor("#00000000"))
// 방법 3: ARGB 값 직접 지정
button.setBackgroundColor(Color.argb(0, 0, 0, 0))
// 방법 4: 리소스 색상 사용
button.setBackgroundColor(
ContextCompat.getColor(this, android.R.color.transparent)
)
(2) Java 코드 예시
// Java에서 투명 배경 설정
Button button = findViewById(R.id.bt_confirm);
// 방법 1: Color 클래스 사용
button.setBackgroundColor(Color.TRANSPARENT);
// 방법 2: 16진수 색상 코드
button.setBackgroundColor(Color.parseColor("#00000000"));
// 방법 3: ARGB 값 직접 지정
button.setBackgroundColor(Color.argb(0, 0, 0, 0));
// 방법 4: 리소스 색상 사용
button.setBackgroundColor(
ContextCompat.getColor(this, android.R.color.transparent)
);
Button button = findViewById(R.id.bt_confirm);
// 방법 1: Color 클래스 사용
button.setBackgroundColor(Color.TRANSPARENT);
// 방법 2: 16진수 색상 코드
button.setBackgroundColor(Color.parseColor("#00000000"));
// 방법 3: ARGB 값 직접 지정
button.setBackgroundColor(Color.argb(0, 0, 0, 0));
// 방법 4: 리소스 색상 사용
button.setBackgroundColor(
ContextCompat.getColor(this, android.R.color.transparent)
);
(3) 투명도를 동적으로 조절
// Kotlin: 투명도를 50%로 설정
val alpha = 128 // 0 ~ 255 범위
button.setBackgroundColor(Color.argb(alpha, 0, 0, 0))
// 애니메이션으로 투명도 변경
ValueAnimator.ofInt(0, 255).apply {
duration = 1000
addUpdateListener { animator ->
val alpha = animator.animatedValue as Int
button.setBackgroundColor(Color.argb(alpha, 0, 0, 0))
}
start()
}
val alpha = 128 // 0 ~ 255 범위
button.setBackgroundColor(Color.argb(alpha, 0, 0, 0))
// 애니메이션으로 투명도 변경
ValueAnimator.ofInt(0, 255).apply {
duration = 1000
addUpdateListener { animator ->
val alpha = animator.animatedValue as Int
button.setBackgroundColor(Color.argb(alpha, 0, 0, 0))
}
start()
}
. . . . .
4) 투명 배경 적용 시 체크리스트
투명 배경 버튼을 구현할 때 확인해야 할 사항들입니다.
① 텍스트 가독성 확인: 배경이 투명하면 텍스트 색상이 배경과 구분되는지 확인
② 클릭 영역 표시: 사용자가 버튼임을 인식할 수 있도록 테두리나 아이콘 추가
③ pressed 상태 피드백: 클릭 시 시각적 피드백 제공 (색상 변경, 리플 효과)
④ Theme 호환성: 다양한 Theme에서 테스트
⑤ elevation 처리: Material Theme 사용 시 그림자 효과 제거
⑥ 접근성: 충분한 터치 영역 확보 (최소 48dp × 48dp)
② 클릭 영역 표시: 사용자가 버튼임을 인식할 수 있도록 테두리나 아이콘 추가
③ pressed 상태 피드백: 클릭 시 시각적 피드백 제공 (색상 변경, 리플 효과)
④ Theme 호환성: 다양한 Theme에서 테스트
⑤ elevation 처리: Material Theme 사용 시 그림자 효과 제거
⑥ 접근성: 충분한 터치 영역 확보 (최소 48dp × 48dp)
(1) 접근성을 고려한 투명 버튼
<Button
android:id="@+id/bt_accessible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="48dp"
android:minHeight="48dp"
android:text="확인"
android:textColor="#FFFFFF"
android:textSize="16sp"
android:background="#00000000"
android:contentDescription="확인 버튼"
android:padding="12dp" />
<!-- minWidth/minHeight로 최소 터치 영역 보장 -->
android:id="@+id/bt_accessible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="48dp"
android:minHeight="48dp"
android:text="확인"
android:textColor="#FFFFFF"
android:textSize="16sp"
android:background="#00000000"
android:contentDescription="확인 버튼"
android:padding="12dp" />
<!-- minWidth/minHeight로 최소 터치 영역 보장 -->
마무리
Android Button의 배경을 투명하게 만드는 방법은 크게 직접 색상 코드 지정과 시스템 리소스 활용 두 가지입니다. 직접 색상 코드를 지정하는 방법(#00000000)은 모든 Theme에서 일관되게 작동하며, 투명도를 세밀하게 조절할 수 있다는 장점이 있습니다.
ARGB 색상 코드의 구조를 이해하면 투명도와 색상을 자유롭게 조절할 수 있습니다. 첫 두 자리는 Alpha(투명도), 나머지 여섯 자리는 Red, Green, Blue의 조합으로 구성됩니다. 이를 활용하면 완전 투명부터 반투명까지 다양한 효과를 구현할 수 있습니다.
Material Design Theme을 사용하는 경우 elevation 효과나 기본 스타일로 인해 추가 설정이 필요할 수 있습니다. stateListAnimator를 null로 설정하거나 적절한 Material 스타일을 사용하여 이를 해결할 수 있습니다. 항상 텍스트 가독성과 접근성을 고려하여 사용자가 버튼임을 명확히 인식할 수 있도록 디자인하는 것이 중요합니다.
긴 글 읽어주셔서 감사합니다.
끝.
끝.
반응형
'Development > Android' 카테고리의 다른 글
| [Android] Android Fragment의 생성 실전 구현 방법 (0) | 2019.09.06 |
|---|---|
| [Android] Android Fragment 핵심 개념과 활용법 (0) | 2019.09.06 |
| [Android] Android FileProvider 파일 공유 방법 (0) | 2019.08.26 |
| [Android] AndroidX로 마이그레이션 해야 하는 이유와 방법 (0) | 2019.01.31 |
| [Android] SwipeRefreshLayout를 활용한 예제 (2) | 2016.05.19 |