2013-06-24 4 views

ответ

0

Вы можете использовать ToggleButton вместо обычного, который сохраняет его состояния после нажатия.

просто назначьте его нажатыми и нежатыми текстурами, используя selector, и он сохранит сохраненную им текстуру после нажатия.

+0

Это. Или рассмотрите возможность использования коммутатора (для более новых API) – dberm22

1

Возможное решение, если вы не хотите использовать 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; 

        } 
       } 
      }); 
1

Существует как-нибудь сделать это, я предлагаю на рисуемых и макеты файлов.

Например, у вас есть представление, где у вас есть «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