我有一个具有选定状态的简单选择器,因此我可以在我的 Button 上 setSelected(true) 并显示它被选中。我正在创建一个 ActionBar 类型的东西。它在某些 android 设备(nexus 平板电脑)(v4.1.2)上运行良好,但在三星 Galaxy S2(v2.3.6)上,当我调用 setSelected(true) 状态时,它会隐藏按钮的文本。任何人都知道为什么会发生这种情况?
我的 *button_tab_selected* 和 *button_tab* png 图像资源都是 47x47 9 补丁。
drawable_tabcontrolbutton.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_tab_selected" android:state_selected="true"/>
<item android:drawable="@drawable/button_tab"/>
</selector>
布局代码
<Button
android:id="@+id/button_draws"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/drawable_tabcontrolbutton"
android:padding="0dp"
android:text="DRAWS"
android:textSize="18sp" />
<Button
android:id="@+id/button_results"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/drawable_tabcontrolbutton"
android:padding="0dp"
android:text="RESULTS"
android:textSize="18sp" />
Java 代码
final Button button_draws = (Button) findViewById(com.tattsbet.android.R.id.button_draws);
button_draws.setSelected(true);
final Button button_results = (Button) findViewById(com.tattsbet.android.R.id.button_results);
button_draws.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
button_draws.setSelected(true);
button_results.setSelected(false);
drawsSelected();
}
});
button_results.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
button_results.setSelected(true);
button_draws.setSelected(false);
resultsSelected();
}
});