Регулярная кнопка меняет вид, когда она нажата. Как я могу сохранить этот «нажатый» вид на кнопке даже после ее выпуска?Как сохранить «нажатый» вид кнопки после нажатия?
ответ
Вы можете использовать ToggleButton вместо обычного, который сохраняет его состояния после нажатия.
просто назначьте его нажатыми и нежатыми текстурами, используя selector
, и он сохранит сохраненную им текстуру после нажатия.
Это. Или рассмотрите возможность использования коммутатора (для более новых API) – dberm22
Возможное решение, если вы не хотите использовать ToggleButton, чтобы установить логические значения в onClickListener
private boolean isPressed = false;
mYourButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(){
if(isPressed==false){
mYourButton.setBackgroundResource(R.drawable.your_pressed_image);
isPressed=true;
}else if(isPressed==true){
mYourButton.setBackgroundResource(R.drawable.your_default_image);
isPressed=false;
}
}
});
Существует как-нибудь сделать это, я предлагаю на рисуемых и макеты файлов.
Например, у вас есть представление, где у вас есть «SEND» или «FINISH КНОПКА», так что вид в макете папку что-то вроде этого:
<ImageButton
android:id="@+id/btnIdNext"
android:contentDescription="@string/someDescriptionOfImage"
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
android:layout_height="wrap_content"
android:src="@drawable/buttons_src"
android:background="@drawable/buttons"
android:onClick="someaction" />
Как вы можете У вас есть две возможности для импорта: src и фон. Таким образом, позволяет создавать файлы, которые
В Drawable папке мы создаем buttons_src.xml файл
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/finalizar_active" android:state_pressed="true"/>
<item android:drawable="@drawable/finalizar"/>
</selector>
В Drawable папке мы создаем buttons.xml файл слишком
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/bg_purple_active" android:state_pressed="true"/>
<item android:drawable="@drawable/bg_purple"/>
</selector>
у нас есть четыре изображения, два для неустановленного состояния и два для нажатого состояния.
В превью следующий:
* неопрессованная Кнопка http://i.stack.imgur.com/UZMtt.png
* Прессованная Кнопка http://i.stack.imgur.com/1E0u4.png
Коммутатор будет делать? – ozbek
попробуйте установить фон на кнопку – Abx