2015-06-09 18 views
9

Bir inme ile Button için ripple background drawable oluşturmaya çalışıyorum.Başa dön Konturun içinde dalgalanma

<ripple xmlns:android="http://schemas.android.com/apk/res/android" 
    android:color="#336699"> 

    <item> 
     <shape android:shape="rectangle"> 

      <solid android:color="#998811" /> 

      <stroke 
       android:width="2dp" 
       android:color="#119988" /> 

     </shape> 
    </item> 
</ripple> 

Ama bu çözüm ile, dalgalanma benim inme ile örtüşmektedir:

Bu defa ne var.
Sadece ripple'un inme içinde olmasını istiyorum, Bunu nasıl yapabilirim?

cevap

9

the documentation uyarınca, @android:id/mask kimlikli başka bir öğe eklersiniz - bu, dalgalanmaların nereye gittiğini sınırlar. Bunu şu şekilde ayarlayabilirsiniz:

<ripple xmlns:android="http://schemas.android.com/apk/res/android" 
    android:color="#336699"> 

    <item> 
     <shape android:shape="rectangle"> 

      <solid android:color="#998811" /> 

      <stroke 
       android:width="2dp" 
       android:color="#119988" /> 

     </shape> 
    </item> 

    <item android:id="@android:id/mask"> 
     <inset android:insetBottom="2dp" 
       android:insetLeft="2dp" 
       android:insetRight="2dp" 
       android:insetTop="2dp"> 
      <shape android:shape="rectangle"> 
       <!-- Color doesn't matter --> 
       <solid android:color="@android:color/white"/> 
      </shape> 
     </inset> 
    </item> 
</ripple> 
İlgili konular