2011-09-02 2 views
0

나는 백 그라운드 이미지가있는 버튼을 만들려고합니다. 다시 한 번 선택기 XML을 사용하여 몇 가지 상태 스타일을 적용하려고합니다. 아래 XML을 스타일로 사용하고 다른 하나는 선택기로 사용했습니다. 하지만 배경 이미지가 나타나지 않습니다. 또한 버튼에 약간의 구석을 적용하고 싶습니다.안드로이드에 배경 이미지와 모서리가 짙은 버튼

도와주세요.

<style name="HomeMenuButton" parent="@android:style/Widget.Button"> 
    <item name="android:gravity">center_vertical|center_horizontal</item> 
    <item name="android:textColor">#FFFFFFFF</item> 
    <item name="android:shadowColor">#FF000000</item> 
    <item name="android:shadowDx">0</item> 
    <item name="android:shadowDy">-1</item> 
    <item name="android:shadowRadius">5</item> 
    <item name="android:textSize">16dip</item> 
    <item name="android:textStyle">bold</item> 
    <item name="android:background">@drawable/button_back</item> 
    <item name="android:focusable">true</item> 
    <item name="android:clickable">true</item> 
</style> 


<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item > 
     <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
      <stroke android:width="2dp" android:color="@color/red" /> 
      <solid android:color="#FFFFFFFF"/> 
      <padding android:left="5dp" android:top="2dp" 
       android:right="5dp" android:bottom="2dp" /> 
      <corners android:radius="15dp" /> 

     </shape> 
    </item> 
    <item android:state_pressed="true" >   
     <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
      <stroke android:width="2dp" android:color="@color/red" /> 
      <solid android:color="@color/blue"/> 
      <padding android:left="5dp" android:top="2dp" 
       android:right="5dp" android:bottom="2dp" /> 
      <corners android:radius="15dp" /> 

     </shape>  
    </item> 
</selector> 

답변

0

방금 ​​코드를 시도했으며 의도 한대로 배경을 표시합니다.

레이아웃 xml에 android : style 속성을 추가 했습니까? 다음과 같은 것 :

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Hello world!" 
    style="@style/HomeMenuButton" 
/> 

또한 원래 상태 드로어 블은 눌린 상태를 표시하지 않습니다. 눌려진 상태 항목을 정상 상태 이전으로 이동하여 조금 변경해야 할 수도 있습니다. 답장을

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

    <item android:state_pressed="true" >   
     <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
      <stroke android:width="2dp" android:color="@color/red" /> 
      <solid android:color="@color/blue"/> 
      <padding android:left="5dp" android:top="2dp" 
       android:right="5dp" android:bottom="2dp" /> 
      <corners android:radius="15dp" /> 
     </shape>  
    </item> 

    <item> 
     <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
      <stroke android:width="2dp" android:color="@color/red" /> 
      <solid android:color="#FFFFFFFF"/> 
      <padding android:left="5dp" android:top="2dp" 
       android:right="5dp" android:bottom="2dp" /> 
      <corners android:radius="15dp" /> 
     </shape> 
    </item> 

</selector> 
+0

감사합니다. 하지만 반경이 표시된 버튼입니까? 버튼에 모서리 반경을 원합니다. –

+1

예 그림과 같이 반경이있는 버튼이 표시됩니다 (하단 버튼) http://imageshack.us/photo/my-images/825/ss01x.png/ – basicsharp

+0

이미지를 배경으로 넣으려고 했습니까? 표시된 샘플 u는 이미지가없는 것 같습니다. 다시 시도해주세요. –

관련 문제