#android #button #selector #shape
#Android #кнопка #селектор #фигуры
Вопрос:
Это моя фигура
<?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:
Я делаю это таким образом:
<?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>
Это то, что я обычно использую для своей темы
Комментарии:
1. Спасибо за это — что такое btn_bg_pressed и btn_bg_selected? это картинки?
2. Спасибо! Я просто заменил ее на свои фигуры, и это работает — ну, это работает на эмуляторе, а не на моем телефоне — но я подозреваю, что это мой телефон :).