Мне нужно показать нажатие кнопки на фигуре, которая является моим фоном для моей кнопки - PullRequest
1 голос
/ 18 мая 2011

Это моя фигура

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:startColor="#80000000"
        android:endColor="#80FFFFFF"
        android:angle="45"/>
    <padding android:left="7dp"
        android:top="7dp"
        android:right="7dp"
        android:bottom="7dp" />
    <corners android:radius="10dp" />
</shape>

Это то, что я хочу для нажатой кнопки

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:startColor="#80FFFFFF"
        android:endColor="#80000000"
        android:angle="45"/>
    <padding android:left="7dp"
        android:top="7dp"
        android:right="7dp"
        android:bottom="7dp" />
    <corners android:radius="10dp" />
</shape>

 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true"
           android:drawable="@drawable/button_pressed" /> <!-- pressed -->
     <item android:state_focused="true"
           android:drawable="@drawable/button_focused" /> <!-- focused -->
     <item android:drawable="@drawable/button_normal" /> <!-- default -->
 </selector>

Я попробовал этот код, чтобы связать две фигуры, но когда я установил его в качестве фонаон просто сделал мою кнопку по умолчанию серым.

, и я добавил селектор на фон моей кнопки, он имеет правильную непрозрачность как есть, но мне нужно, чтобы он отображал другой цвет (например, белый или что-то), когда оннажата.

кто-нибудь есть идеи?

1 Ответ

7 голосов
/ 19 мая 2011

Я делаю это так:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/btn_bg_pressed"/>
   <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/btn_bg_pressed"/>
   <item android:state_focused="true" android:drawable="@drawable/btn_bg_selected"/>
   <item android:state_focused="false" android:state_pressed="false" android:drawable="@android:color/transparent"/>
</selector>

Это то, что я обычно использую для своей темы

...