Установить состояние для кнопки Android - PullRequest
1 голос
/ 05 марта 2011

Я объявляю кнопку Android следующим образом:

<Button
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:background="@drawable/festival_button_selector"
 android:textColor="@color/white"
 android:text="@string/STR_FEST_SELOFF"
 android:onClick="onBtnFestSelectionClick"
/>

А вот содержимое фона селектора этой кнопки (festival_button_selector):

<item android:state_focused="true" 
    android:drawable="@drawable/festival_button_focus"
    />
<item android:state_pressed="true" 
    android:drawable="@drawable/festival_button_press"
    />
<item android:state_focused="false" 
    android:state_pressed="false" 
    android:drawable="@drawable/festival_button"
    />

На самом деле, я хочу установить, чтобы этот фон кнопки находился в состоянии «фокус» (поэтому фон кнопки будет по умолчанию festival_button_focus).Если мы нажмем на другую кнопку, фон этой кнопки вернется в «нормальное» состояние (с background_button).Можем ли мы это сделать?

P / S: Я не хочу менять festival_button_selector.Было бы идеально, если бы у нас была функция наподобие button.setFocusState (true), чтобы сделать эту кнопку в состоянии фокуса.

Ответы [ 3 ]

2 голосов
/ 05 марта 2011

Взгляните на requestFocus () , чтобы установить начальное состояние фокуса.

1 голос
/ 05 марта 2011

Звучит так, как будто вам нужно вызвать View.requestFocus () для вашей кнопки.

0 голосов
/ 04 сентября 2012
<item android:state_focused="true" 
    android:drawable="@drawable/festival_button_focus"
    />
<item android:state_pressed="true" 
    android:drawable="@drawable/festival_button_press"
    />
<item
    android:drawable="@drawable/festival_button"
    />

попробуйте

...