как установить цвет кнопки - PullRequest
2 голосов
/ 31 мая 2011

Я хочу, чтобы пользовательская кнопка была такой

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

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

<corners    android:topLeftRadius="8dip"
            android:bottomRightRadius="8dip"
            android:bottomLeftRadius="1dip"
            android:topRightRadius="1dip"
            />
<item android:drawable="@drawable/photo2"
      android:state_pressed="true" />
<item android:drawable="@drawable/photo1" />

, но при

<item android:drawable="@drawable/photo2"
      android:state_pressed="true" />
<item android:drawable="@drawable/photo1" />

она не работает (если она будет работать, она изменит фон кнопкикогда нажимаешь или не жмешь кнопку)

Что мне делать?

Ответы [ 2 ]

4 голосов
/ 31 мая 2011

Сначала импортируйте LightningColorFilter, затем вы можете изменить цвет, применяя этот код:

Start_Button.getBackground().setColorFilter(new LightingColorFilter(0x11111111, 0x11111111));

Это должно быть размещено внутри вашей активности, а не файла XML.

1 голос
/ 31 мая 2011

чтобы установить стиль и цвет для кнопки по умолчанию, установите этот код в любом новом xml и дайте кнопку orgnal для фона, как этот xml, например:

в оригинальном макете кнопки xml: - andorid: background = "@ drawable/ mylayout "

в mylayout.xml: -

<item android:state_pressed="true" >
    <shape>
        <gradient
            android:startColor="@color/yellow1"
            android:endColor="@color/yellow2"
            android:angle="270" />
        <stroke
            android:width="3dp"
            android:color="@color/grey05" />
        <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="@color/orange4"
            android:startColor="@color/orange5"
            android:angle="270" />
        <stroke
            android:width="3dp"
            android:color="@color/grey05" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

<item>        
    <shape>
        <gradient
            android:endColor="@color/blue2"
            android:startColor="@color/blue25"
            android:angle="270" />
        <stroke
            android:width="3dp"
            android:color="@color/grey05" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

и чтобы изменить кнопку фокуса или событие щелчка, попробуйте установить другой фокусмакет:

<item android:state_focused="true" >

и установите другой цвет для изменения цвета или стиля кнопки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...