728x90
반응형
질문 : 색상이 다른 표준 Android 버튼
클라이언트의 브랜딩에 더 잘 어울리도록 표준 Android 버튼의 색상을 약간 변경하고 싶습니다.
지금까지이 작업을 수행하는 가장 좋은 방법은 Button
의 드로어 블을 res/drawable/red_button.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/red_button_pressed" />
<item android:state_focused="true" android:drawable="@drawable/red_button_focus" />
<item android:drawable="@drawable/red_button_rest" />
</selector>
하지만이를 위해서는 커스터마이징하려는 각 버튼에 대해 실제로 세 가지 다른 드로어 블을 만들어야합니다 (하나는 정지 된 버튼, 하나는 포커스가있는 경우, 다른 하나는 눌렀을 때). 그것은 내가 필요로하는 것보다 더 복잡하고 건조하지 않은 것 같습니다.
제가 정말로하고 싶은 것은 버튼에 일종의 색상 변환을 적용하는 것입니다. 내가하는 것보다 버튼의 색상을 변경하는 더 쉬운 방법이 있습니까?
답변
이 모든 작업이 하나의 파일에서 매우 쉽게 수행 될 수 있음을 발견했습니다. custom_button.xml
이라는 파일에 다음 코드를 넣은 다음 background="@drawable/custom_button"
을 설정합니다.
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<gradient
android:startColor="@color/yellow1"
android:endColor="@color/yellow2"
android:angle="270" />
<stroke
android:width="3dp"
android:color="@color/grey05" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:state_focused="true" >
<shape>
<gradient
android:endColor="@color/orange4"
android:startColor="@color/orange5"
android:angle="270" />
<stroke
android:width="3dp"
android:color="@color/grey05" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:endColor="@color/blue2"
android:startColor="@color/blue25"
android:angle="270" />
<stroke
android:width="3dp"
android:color="@color/grey05" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
출처 : https://stackoverflow.com/questions/1521640/standard-android-button-with-a-different-color
728x90
반응형
'프로그래밍 언어 > Android' 카테고리의 다른 글
Android의 EditText보기에서 여러 줄을 허용하는 방법 (0) | 2021.06.14 |
---|---|
Android ListView를 새로 고치는 방법 (0) | 2021.06.14 |
Android에서 투명한 활동을 생성하는 방법 (0) | 2021.06.12 |
Android 장치에서 apk 파일을 얻는 방법 (0) | 2021.06.11 |
Android에서 배경을 20 % 투명하게 만드는 방법 (0) | 2021.06.09 |