0

ボタンにsetSelected(true)を設定できるように、状態が選択された単純なセレクターがあり、選択されていることが示されます。ActionBarタイプのようなものを作成しています。一部のAndroidデバイス(nexusタブレット)(v4.1.2)ではうまく機能しますが、Samsung Galaxy S2(v2.3.6)では、setSeletcted(true)状態を呼び出すとボタンのテキストが非表示になります。なぜこれが起こっているのか誰もが知っていますか?

私の*button_tab_selected*と*button_tab*png画像リソースは両方とも47x479パッチです。

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();
        }
    });
4

1 に答える 1

1

ボタンのスタイルの問題かもしれません。xml で textColor 属性を使用して正確な色を定義する必要があります。白い背景/白いテキストが原因である可能性があります。スタイルは、電話機ごと、バージョンごとに異なる場合があります。

この種の問題を回避するには、すべてのスタイル プロパティを明示的に定義することをお勧めします。

于 2012-12-17T08:40:54.420 に答える