在按钮上调用选定状态会使文本消失

时间:2012-12-14 05:52:35

标签: android button android-drawable

我有一个简单的选择器,它具有一个选定的状态,所以我可以在我的Button上设置选择(true)并显示它被选中。我正在创建一个ActionBar类型的东西。它适用于某些Android设备(nexus平板电脑)(v4.1.2),但在三星Galaxy S2(v2.3.6)上,当我调用setSeletcted(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();
        }
    });

1 个答案:

答案 0 :(得分:1)

这可能是一个Button风格的问题。您应该使用xml中的textColor属性定义确切的颜色。白色背景/白色文字可能是原因。 样式可以是不同的手机到手机,版本到版本。

明确定义所有样式属性以避免这类问题是很好的。