0

一連のトピックを表す一連のトグルボタンがあります。切り替えられると、ToggleButton は背景色を変更して状態を示します。このchecked状態では、ToggleButton の色が濃くなります。

選択状態。 ここに画像の説明を入力

Spinner は ToggleButton をオーバーレイし、ユーザーがトピックの難易度を選択できるようにします。

ToggleButton が押されたときにスピナーのテキストの色を (白に) 変更するにはどうすればよいですか? スピナーセレクターを変更することはできると思いますが、テキストの色を変更する方法を見つけるのに苦労しています。

4

4 に答える 4

1

以下の方法を試してください。

  1. という名前の xml を作成します。

spinnertext.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/spinnerText"
    style="?android:attr/spinnerItemStyle"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:paddingBottom="2dp"
    android:paddingLeft="6dp"
    android:textColor="#41f2f3" />

今コードで。

ArrayAdapter<String> sp_adapter = new ArrayAdapter<String>(this, R.layout.spinnertext, your_array);

sp.setAdapter(sp_adapter);

次に、トグルボタンで作業します

    ToggleButton tb = (ToggleButton) findViewById(R.id.toggleButton1);
    tb.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
            TextView tv = (TextView) findViewById(R.id.spinnerText);
            if (isChecked)
                tv.setTextColor(Color.RED);
            else
                tv.setTextColor(Color.BLUE);

        }
    });
于 2013-07-02T05:50:56.543 に答える
0

Gunaseelan からの回答は、私を正しい方向に導くのに役立ちました。彼が示唆したように、 で作業するのToggleButtonが道です。ToggleButtonウィジェットにはXML 属性があり、これandroid:onClickを使用して、ToggleButton がトグル/クリックされたときに実行するメソッドを指定できます (ここで説明されているように.

スピナー テキストとスピナー セレクターの色を設定するのは少し難しい場合があります。スピナーのテキストの色を変更するには:

ToggleButton cardiologyToggle = (ToggleButton) findViewById(R.id.cardiology_toggle);
        if (cardiologyToggle.isChecked()) {
            spinnerText.setTextColor(Color.WHITE);
        } else {
            spinnerText.setTextColor(Color.BLACK);
        }

これは、スピナーが選択されたときに表示されるテキストのみを変更します。

于 2013-07-12T03:29:50.660 に答える
0

アプリにあるものの 1 つは、カスタム スピナー ビューです。後ろに半透明の黒い丸い正方形があり、それより少し大きくなっています。どんな背景でも機能します。

于 2013-07-02T05:45:45.857 に答える