Фон для кнопки в андроиде? - PullRequest
2 голосов
/ 04 августа 2011

В моем приложении я установил для кнопки фон определенного цвета. Мне не нравится, как это выглядит. Кнопка похожа на прямоугольник с прямыми краями. Я хочу, чтобы кнопка имела закругленные углы. Как это возможно?

Вот моя кнопка в XML:

<Button android:id="@+id/button" android:text="Participer au concours de photos"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:layout_marginTop="410dip" android:layout_centerHorizontal="true"
         android:background="@drawable/orange1"/>

Спасибо ...

Ответы [ 2 ]

3 голосов
/ 04 августа 2011

Использование selector

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

<item android:state_pressed="true" >
    <shape>
        <gradient
            android:startColor="#24a1dd"
            android:centerColor="#158ee4"
            android:endColor="#37b8ee"
            android:angle="270"
            android:centerY="0.88" />
        <stroke
            android:width="3dp"
            android:color="#00ffffff"
            />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

<item android:state_focused="true" >
    <shape>
        <gradient
            android:endColor="#59bfe6"
            android:centerColor="#36aced"
            android:startColor="#91def7"
            android:angle="270"
            android:centerY="0.88" />
        <stroke
            android:width="3dp"
            android:color="#00ffffff"
             />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

<item>        
    <shape>
        <gradient
            android:endColor="#e1e1e1"
            android:centerColor="#bdbebd"
            android:startColor="#f6f2f6"
            android:angle="270"
            android:centerY="0.88" />
        <stroke
            android:width="3dp"
            android:color="#00ffffff"
            />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>
</selector>

Примерно так должно работать. Просто исправьте значения цвета. Что совпадает с ответом на этот вопрос Стандартная кнопка Android с другим цветом

1 голос
/ 04 августа 2011

Есть два способа:

  1. Используйте 9 патчей для рисования (изображение в формате png) Вот полный урок 9 патчей для рисования: фон пользовательской кнопки

  2. Установить xml drawable в качестве фона ваших кнопок.

Взгляните сюда Градиентные кнопки для андроида .

И чтобы узнать больше о XML Drawables: - ANDROID XML DRAWABLES

...