2012-07-12 4 views
0

내 레이아웃에서 표준 안드로이드 버튼을 사용하려고하지만, 누르지 않았을 때 배경을 투명하게 만들거나, 텍스트를 왼쪽이나 오른쪽으로 정렬하거나 원하는대로 사용자 정의 수정을하십시오. 몇 가지 속성을 변경하면 표준 단추에서 상속하는 몇 가지 간단한 방법이 있습니까? 나는 아래의 두 게시물을 살펴 봤는데 작동하도록 할 수 없으며 그 페이지에 대한 의견을 남기려면 너무 새롭고 그 해결책은 모두 문제가 있습니다.수정 안함 표준 안드로이드 버튼 사용

@android 복사 시도 : drawable/btn_default 소스가 How to disable the default Button color changing property on onClick인데 거기에서 링크 된 모든 리소스는 비공개입니다. 내가 그 개인 파일에 대한 소스를 찾으려고했지만, 그들 중 일부는 원시 파일을 얻으려면 안드로이드 SDK 폴더에 들어가더라도 찾을 수 없습니다. 이것이 표준 단추를 편집하는 방법 인 경우 어디서 파일을 찾을 수 있습니까? 그 개인 파일을 복사하는 것은 분명히 이상적이지는 않습니다. 표준이/다른 버튼에서 변경된 버튼은 여전히이 경우에 이전 버튼을 사용하고 일관성이없는 버튼을 가지고있을 것입니다 ...

또한, 일반적으로 사용자 정의 버튼을 만드는 데 좋은 Standard Android Button with a different color을 보았지만 표준 버튼과 정확히 같게 설정하려면 어떻게해야합니까? 즉, 색상은 무엇입니까, 그라디언트가 맞는지 등등입니다. 다시 말하지만 표준 버튼을 변경하면 여전히 이전 값이 사용됩니다. 당신의 버튼

답변

0

부모 =에 스타일을 사용하는 방법에 대한 CSmith의 대답의 첫 부분 "@ 안드로이드 : 스타일/Widget.Button"

배경 그라데이션을 수행 예제 button_press.xml는 모서리와 테두리가 둥근 왼쪽 또는 오른쪽 맞춤 텍스트와 같은 버튼 속성을 변경하는 가장 좋은 방법입니다. 그러나 나머지 대답은 자신의 선택기를 만드는 방법을 설명하므로 내 솔루션을 에 추가하고 기본 단추에서 선택기를 상속 한 다음 변경하려는 특정 단추를 재정의했다고 생각합니다.

그냥 넣으면됩니다. android : drawable = "@ android : drawable/btn_default"에 대한 기본 비헤이비어를 원하는 선택자에 대해 적용한 다음 변경하려는 선택기에 대해서만 사용자 정의 필드를 지정할 수 있습니다. 모든 선택기를 상속하지만 회색 대신 투명 배경을 가진 버튼을 사용하려는 경우에는 다음을 수행하십시오 (CSmith의 답변을 명확히하기 위해 여기에 CSmith의 답변을 복사하십시오. 감사합니다 CSmith!) :

모든 선택기를 상속 그냥 회색 보여 것을 덮어 다음

<style name="myButton" parent="@android:style/Widget.Button"> 
    <item name="android:background">@drawable/myBackground</item> 
    ...other changes to default button... 
</style> 

:/당김 고해상도의 을

<Button id= ... style="@style/myButton" /> 

고해상도/값/styles.xml : 사용자 지정 스타일을 사용하여 버튼을 정의 /내 배경.XML : 고해상도의

<?xml version="1.0" encoding="utf-8"?> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_window_focused="false" 
      android:drawable="@drawable/transparent_btn" />  
    <item android:state_pressed="true" 
      android:drawable="@android:drawable/btn_default" /> 
    <item android:state_focused="true" 
      android:drawable="@android:drawable/btn_default" /> 
    <item android:drawable="@drawable/transparent_btn" /> 
</selector> 

및/드로어 블/사진 transparent_btn.xml :

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" > 
    <solid android:color="@android:color/transparent" /> 
</shape> 

참고 :이 버튼을 사용하거나 그냥 여부를 특정 동작을 원하는 경우, state_enabled에 대한 예 나던 걱정 이러한 셀렉터도 덮어 씁니다.

2

사용 스타일 :

<Button id= ... style="@style/myButton" /> 

값/styles.xml :

<style name="myButton" parent="@android:style/Widget.Button"> 
    <item name="android:background">@drawable/myBackground</item> 
</style> 

가 (예를 누를 등) 다양한 버튼 상태를 처리하기 위해 당신이 선택 드로어 블 자원이 필요합니다 예 묘화/myBackground.xml :

<?xml version="1.0" encoding="utf-8" ?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<!-- Non focused states 
    --> 
    <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/button_unfocused" /> 
    <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/button_unfocused" /> 
<!-- Focused states 
    --> 
    <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/button_focus" /> 
    <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/button_focus" /> 
<!-- Pressed 
    --> 
    <item android:state_pressed="true" android:drawable="@drawable/button_press" /> 
</selector> 

가 그리기/button_press.xml은 SH, 구배를 지정할 수 원숭이, 국경, 등등.

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
    <stroke android:width="1dp" android:color="#FF404040" /> 
    <corners android:radius="6dp" /> 
    <gradient android:startColor="#FF9B00" android:centerColor="#FFB300" android:endColor="#FFCA00" android:angle="90" /> 
</shape> 
+0

Android 개발자 웹 사이트에서 설명하는 기사가 있습니다. http://developer.android.com/guide/topics/ui/themes.html –