728x90
안드로이드 버튼에서 기본 버튼이 아닌 이미지로 제작을 하는 경우 일반적으로
눌림 효과를 생각해서 제작을 해야 합니다.
눌림 효과가 없는 버튼은 너무 밋밋하기도 하고 어플 자체가 역동성이 없어서
사용자에게 딱딱한 느낌과 부자연스러운 어플이라는 인식을 하게 됩니다.
버튼에 눌림 효과를 적용하는 방법은 간단한데 먼저 눌림 버튼 이미지와
눌리지 않은 이미지 이렇게 두가지의 이미지 파일을 준비하면 됩니다.
두 가지의 이미지 파일을 제작하여 왼쪽 하얀색 바탕의 버튼 이미지는 눌리지 않은 상태
오른쪽 검은색 바탕의 버튼 이미지는 눌림 상태로 사용하도록 하겠습니다.
먼저 res/drawble 폴더에 confirm_btn 이라는 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="@drawable/confirm_bts_block"></item>
<item android:state_pressed="false" android:drawable="@drawable/confirm_btn_white"></item>
</selector>
그런 다음 confirm_btn.xml 파일 내용을 위와 같이 작성합니다.
item 첫번째는 버튼의 눌림 상태일 때 이미지를 지정해주고 pressed는 true로 설정합니다.
두 번째 item은 버튼이 눌리지 않을 때 상태로 pressed는 false로 지정합니다.
다음으로 이렇게 지정한 버튼 눌림 효과를 실제 layout에서 background로 지정하여 사용합니다.
<Button
android:id="@+id/serial_btn"
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@drawable/confirm_btn"
android:layout_weight="2"></Button>
버튼을 생성하고 background를 confirm_btn을 지정해주면 준비과정은 끝입니다.
이제 어플을 실행하여 확인해보면 버튼이 눌리고 눌리지 않을 때의 이미지가 변경되는 것을 확인할 수 있습니다.
728x90
반응형
'안드로이드' 카테고리의 다른 글
[Android] SDK 30 Bluetooth Scan Permission (23) | 2022.01.21 |
---|---|
[Android] 버튼 하나로 다국어 모드 (30) | 2022.01.20 |
[Android] Failed to apply plugin 'com.android.internal.application' 에러 해결 (21) | 2022.01.18 |
[Android] SeekBar (13) | 2022.01.17 |
[Android] 버튼 스타일 변경 (12) | 2022.01.14 |
댓글