ImageButton с закругленным углом, используя только XML? - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь сделать ImageButton как этот

this is the type of button I'm trying to replicate

однако я не могу найти способ сделать это, используя xmlтолько.Я пробовал пользовательские библиотеки, они, кажется, не работают идеально.другого пути нет?что я могу сделать вместо использования ImageButton?

Ответы [ 3 ]

0 голосов
/ 06 февраля 2019

Создайте файл XML внутри drawable.

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

    <corners
            android:radius="28dp"
    />

    <solid
        android:color="#00BADE"
/>
</shape>

, а затем внутри вашего imageButton или чего-либо еще.

    android:background="@drawable/buttonShape"
0 голосов
/ 06 февраля 2019

Вы можете использовать вид карты с радиусом угла карты

<android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:cardCornerRadius="4dp"/>

И добавить кнопку изображения внутри вида карты

0 голосов
/ 06 февраля 2019

Вот код xml.

1.Создайте файл xml в вашей папке для рисования, например button.xml, и вставьте следующую разметку:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" >
        <shape android:shape="rectangle"  >
            <corners android:radius="3dp" />
            <stroke android:width="1dp" android:color="#5e7974" />
            <gradient android:angle="-90" android:startColor="#345953" android:endColor="#689a92"  />            
        </shape>
    </item>
    <item android:state_focused="true">
        <shape android:shape="rectangle"  >
            <corners android:radius="3dip" />
            <stroke android:width="1dip" android:color="#5e7974" />
            <solid android:color="#58857e"/>       
        </shape>
    </item>  
    <item >
       <shape android:shape="rectangle"  >
            <corners android:radius="3dip" />
            <stroke android:width="1dip" android:color="#5e7974" />
            <gradient android:angle="-90" android:startColor="#8dbab3" android:endColor="#58857e" />            
       </shape>
    </item>
</selector>

2. Теперь используйте этот чертеждля фона вашего взгляда.Если представление является кнопкой, то что-то вроде этого:

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:textColor="#ffffff"
    android:background="@drawable/mybutton"
    android:text="Buttons" />

Кредиты для этот ответ

...