我声明了一个像这样的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)作为默认值。如果我们点击其他按钮,此按钮背景将返回“正常”状态(背景为festival_button)。我们能做到吗?
P / S:我不想改变festival_button_selector。如果我们有一个像button.setFocusState(true)这样的函数来使这个按钮处于焦点状态,那将是理想的。
答案 0 :(得分:2)
看一下requestFocus()来设置初始焦点状态。
答案 1 :(得分:1)
听起来你需要在按钮上拨打View.requestFocus()。
答案 2 :(得分:0)
<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"
/>
试试这个