2010-11-24 2 views
9

У меня есть кнопка с двумя состояниями (выбрано и не выбрано). изображение кнопки отличается для состояний. Какой из них я должен использовать? Как установить изображения и состояния? Пожалуйста, дайте предложения (я новичок в android).Что я должен использовать ImageButton или Button?

ответ

14

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

Например: my_button.xml

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

<item 
    android:state_focused="true" 
    android:state_pressed="false" 
    android:drawable="@drawable/button_style1_active" /> 
<item 
    android:state_focused="true" 
    android:state_pressed="true" 
    android:drawable="@drawable/button_style1_down" /> 
<item 
    android:state_focused="false" 
    android:state_pressed="true" 
    android:drawable="@drawable/button_style1_down" /> 
<item 
    android:drawable="@drawable/button_style1_up" /> 

</selector> 

Использование в layout.xml:

<Button android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Tap me" 
     android:background="@drawable/my_button"/> 

С помощью этой конфигурации вы можете влиять на внешний вид кнопки, при нажатии, фокусировке и так далее. Точно так же для обоих типов кнопок (Button и ImageButton). Если ваша кнопка не содержит текста, используйте ImageButton.

+0

1000+ для этого ... работал хорошо .. – xydev 2010-11-24 09:06:05

Смежные вопросы