2013-05-14 2 views
0

사용자가 단추를 누를 때 파란색 단추를 추가하는 데 문제가 있습니다. 이 버튼에 drawable이 없으면 작동하지만, 제 경우에는 사용자 정의 배경을 추가해야하며 사용자가 버튼을 클릭 할 때 파란색을 원합니다. 여기내 단추의 홀로 테마 및 사용자 정의 배경

<Button 
    android:id="@+id/create_profile" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/info_account" 
    android:layout_centerHorizontal="true" 
    android:background="@drawable/btn_create_profile" /> 

답변

1

블루 색상이 플랫폼은 당신을 위해 그리는 것이 아닙니다 내 코드입니다. 표준 단추에는 배경으로 선택기 드로어 블이 있으며 뷰에는 일련의 이미지가 포함됩니다. 예를 들어, 버튼의 경우 표준 버튼 이미지, 눌려진 버튼 이미지 (파란색 오버레이가 위에 그려져 있음), 비활성화 됨 (반투명) 등입니다. 버튼이 현재 상태임을 인식하고 적절한 이미지를 표시합니다.

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:state_pressed="true" android:drawable="@drawable/your_pressed_button/> 
    <item android:drawable="@drawable/your_normal_button/> 

</selector> 

나는 그것에 대해 Drawable Resources을 읽는 가치가 생각 :

은 그래서 당신이 원하는 것은 누르면 버튼을 자신을 그리고 이런 선택 묘화를 만드는 것입니다. 생성 된 버튼 상태의 예는 here입니다.

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

    <item android:state_pressed="false" 
     android:drawable="@drawable/ic_back" /> 

    <item android:state_pressed="true" 
     android:drawable="@drawable/ic_back_pressed" /> 

    <item android:state_focused="true" 
     android:drawable="@drawable/ic_back_pressed" /> 

</selector> 

와 지금 버튼의 백그라운드에서이 그릴 수를 설정 : 당신은 단순히 당신의 당김 폴더에 XML 파일을 작성하고 작성해야이를 위해

을 :

+0

그래서 differents 상태에 대해 다른 드로어 블을 생성해야합니까? 사용자가 버튼을 클릭하고 있음을 알리는 간단한 방법은 없습니까? – mrroboaat

+0

아니요. 내가 볼 수있는 유일한 것은 Button 구성 요소를 상속하고 그 위에 캔버스에 파란색 오버레이를 그립니다. 그러나 나는 그것을 개인적으로 피할 것이다. – EvilDuck

+0

오케이! 선택기를 알고 있지만 모든 단추에는 사용자 지정 드로어 블이 있으므로 모든 단추에 XML 파일을 만들어야합니다. – mrroboaat

0

사용자 정의 당김해야한다. 여기

, 정상 상태의 배경 아이디 ic_back 및 누를 및 주 배경이 고체 당김 모양을 만들기 위해

을 ic_back_pressed되어 초점 (당신이 here 갈 수 당김 당신이 단색 backround에 원하는 경우, 예를 들어 ..)

관련 문제