1

我有我需要一個橢圓形的邊框幾下即可。異型繪製與selectableItemBackground爲背景

所以我有這樣的capsule_border.xml

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <corners android:radius="9999dp"/> 
    <stroke 
     android:width="1px" 
     android:color="@color/border_gray" /> 
</shape> 

而且,我需要它,我會用android:background="@drawable/capsule_border.xml。現在

,我想有一個按鈕,可以在橢圓形的邊框,同時也爲視覺反饋的android:background="?selectableItemBackground"

我試圖用父母的佈局與selectableItembackground和按鈕,capsule_border。但是突出顯示的可點擊區域似乎是整個廣場。而不僅僅是膠囊邊界內的區域。

enter image description here

有什麼方法,我可以讓這個在selectableItemBackground不高的看法的整個矩形,但僅限於邊境,我畫畫嗎?

回答

1

round_corners.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle"> 
    <solid android:color="@android:color/transparent"/> 
    <corners android:radius="15dp" /> 
    <stroke 
     android:width="1px" 
     android:color="#000000" /> 
</shape> 

而且my_ripple.xml

<?xml version="1.0" encoding="utf-8"?> 
<ripple xmlns:android="http://schemas.android.com/apk/res/android" 
     android:color="?android:attr/colorControlHighlight"> 
    <item android:id="@android:id/mask"> 
     <shape android:shape="rectangle"> 
      <solid android:color="#000000" /> 
      <corners android:radius="15dp" /> 
     </shape> 
    </item> 
    <item android:drawable="@drawable/rounded_corners" /> 
</ripple> 

和按鍵:

<Button 
    android:background="@drawable/my_ripple" 
    ... /> 

會導致這樣的:

enter image description here

this文章。

+0

這是非常好的。如果有一個<21 api級別的版本,情況會更好。 – user1017674