2014-02-25 2 views
4

둥근 모서리 버튼을 만들고 싶습니다.둥근 모서리 단추 : 내가 틀렸어

내가 그릴 수 button_bg.xml 버튼의 배경을 정의

: 다음

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:state_enabled="false" 
     android:drawable="@color/grey"> 

     <shape> 
      <solid 
       android:color="#ef4444" /> 
      <stroke 
       android:width="1dp" 
       android:color="#992f2f" /> 
      <corners 
       android:radius="16dp" /> 
     </shape> 
    </item> 


    <item 
     android:state_pressed="true" 
     android:state_enabled="true" 
     android:drawable="@color/dark_grey" 
    > 
     <shape> 
      <solid 
       android:color="#ef4444" /> 
      <stroke 
       android:width="1dp" 
       android:color="#992f2f" /> 
      <corners 
       android:radius="16dp" /> 
     </shape> 
    </item> 


    <item 
     android:state_enabled="true" 
     android:drawable="@color/blue" 
    > 
     <shape> 
      <solid 
       android:color="#ef4444" /> 
      <stroke 
       android:width="1dp" 
       android:color="#992f2f" /> 
      <corners 
       android:radius="16dp" /> 
     </shape> 

    </item> 
</selector> 

, 나는 레이아웃 파일 내 버튼에 적용 : 이것은 내가 뭘하려

<Button 
     android:text="@string/press_me" 
     android:layout_margin="12dp" 
     android:layout_width="fill_parent" 
     android:layout_height="30dp" 

     android:background="@drawable/button_bg" 
/> 

그러나 내 단추가 둥근 막대 대신 여전히 날카로운 모서리를 보여주고 있습니까?

+0

당신은 당신의 코드의 resulr가 – pskink

+0

인 무슨 말을하는 것이 틀린가요. 내 결과는 둥근 것이 아니라 날카로운 구석입니다. –

+0

android : drawable = "@ color/*" – pskink

답변

1

가에서 android:drawable을 제거 (그냥 나에게 둥근 모서리를 만드는 방법에 대한 링크를 포기하지 마십시오, 내 위의 코드는 내가 어디서 나는 내가 잘못. 감사합니다 알고 싶어, 그 튜토리얼을 따라) 아이템 노드는 이것을 좋아한다.

<item android:state_pressed="true" 
     android:state_enabled="true"> 

편집 : (? 내가 다음 항목에 대한 colors.xml에서 색상을 지정할 수 있습니다 방법)

당신의 버튼 텍스트 색상의 상태 컬러 드로어 블을 만듭니다.

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true" android:state_pressed="false" android:color="#ffffff" /> 
    <item android:state_focused="true" android:state_pressed="true" android:color="#000000" /> 
    <item android:state_focused="false" android:state_pressed="true" android:color="#000000" /> 
    <item android:color="#ffffff" /> 
</selector> 

다음이 단추의 텍스트 색으로 설정하십시오. 아래 item의 모든 android:drawable 다음이 작동

android:textColor="@drawable/button_text_color" 
+0

어떻게 colors.xml의 색상을 항목에 지정할 수 있습니까? –

+0

스테이트 풀 배경을 만든 것처럼 버튼에 상태 기반 색을 만들어야합니다. 추가하려면 수정하십시오. – Gaurav

1

제거.

android:drawable 속성을 item에 추가하면이 드로어 블이 작성된 모양을 겹쳐서 표시합니다. 그래서 둥근 모양을 볼 수 없습니다.

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

    <item android:state_enabled="false"><shape> 
      <solid android:color="#ef4444" /> 

      <stroke android:width="1dp" android:color="#992f2f" /> 

      <corners android:radius="16dp" /> 
     </shape></item> 
    <item android:state_enabled="true" android:state_pressed="true"><shape> 
      <solid android:color="#ef4444" /> 

      <stroke android:width="1dp" android:color="#992f2f" /> 

      <corners android:radius="16dp" /> 
     </shape></item> 
    <item android:state_enabled="true"><shape> 
      <solid android:color="#ef4444" /> 

      <stroke android:width="1dp" android:color="#992f2f" /> 

      <corners android:radius="16dp" /> 
     </shape></item> 

</selector> 
+0

그러면 항목에 대한 colors.xml의 색상을 어떻게 지정할 수 있습니까? –

+0

in this 줄''...change 원하는대로 색상을 변경하십시오. –

+0

이 시나리오에서 colors.xml 리소스의 색을 직접 가져올 방법이 없다는 뜻입니까? –