2012-01-05 2 views
21

단추 선택기를 사용하면 단추의 각 상태에 대한 배경을 정의 할 수 있지만 단추의 텍스트 스타일을 각 상태에 대해 어떻게 정의 할 수 있습니까? 내 목표는 비활성화되었을 때 버튼을 회색으로 표시하는 것입니다. 그래서 버튼의 비활성화 상태에 회색 배경을 설정했지만 텍스트를 회색으로 표시하는 유일한 방법은 버튼을 비활성화 할 때 색상을 동적으로 변경하는 것입니다 ...선택기에서 버튼의 텍스트 스타일을 설정하는 방법은 무엇입니까?

아무도 도와 줄 수 있습니까?

감사

<style name="srp_button" parent="@android:style/Widget.Button"> 
    <item name="android:background">@drawable/btn_default</item> 
    <item name="android:textColor">#ffffff</item> <!-- How to specify different color for different state? --> 
    <!-- more stuff --> 
</style> 

드로어 블/사진 btn_default.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:state_enabled="true"><shape> 
      <solid android:color="@color/pink" /> 
      <corners android:radius="6dp" /> 
     </shape></item> 
    <item><shape> 
      <solid android:color="#000000" /> 
      <corners android:radius="6dp" /> 
     </shape></item> 

</selector> 
+0

당신이 시도 코드를 넣어주세요 ... –

+0

이 얼마나 궁금 할 예를 들어 컴파일 오류없이 ​​@ drawable/btn_default을 컴파일합니다. 값이 '@ drawable/btn_default'인 'android : background'의 지정된 이름과 일치하는 리소스가 없습니다. –

답변

42

음!

Button의 배경을 정의한 것과 마찬가지로 모든 4 가지 상태의 텍스트 색을 정의 할 수 있습니다.

파일 이름 : /res/color/text_color.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="false" android:color="#440000"/> 
    <item android:state_focused="true" android:color="#004400"/> 
    <item android:state_pressed="true" android:color="#000044"/> 
    <item android:color="#444"/> 
</selector> 

이처럼 Button 스타일에이 파일을 가지고 :

<style name="srp_button" parent="@android:style/Widget.Button"> 
    <item name="android:background">@drawable/btn_default</item> 
    <item name="android:textColor">@color/text_color</item> <!-- Here is specified text color --> 
</style> 
+1

와우, 멋지다! 선택자의 항목에있는 "android : color"속성은 문서화되어 있지 않습니다! 하지만 실제로 작동합니다! – Lcsky

+1

여기에 대한 문서입니다 http://developer.android.com/guide/topics/resources/color-list-resource.html – AdrianoCelentano

+0

textColor 및 특히 사용자 옆에있는 주석에 대해 고맙습니다! 다음은 지정된 텍스트 색 ->입니다. textColor에 대한 일반적인 색상 선택기 (android : 색상 속성 포함)를 사용할 수 있는지, 그리고 사용자 정의 배경과 사용자 정의 textColor를 동시에 사용할 수 있는지는 몰랐습니다. 당신이 사용자 정의 배경 (나는 잔물결 배경이있을 때) 장애인을위한 텍스트 색상을 사용하는 방법에 대한 인터넷 검색 및 인터넷에서 30 분 동안 읽고 있었는데, 나는 이것들과 별개로 아무것도 찾지 못했습니다! 감사! – Metallica

관련 문제