2

我正在尝试使用切换按钮,支持返回 API 11。问题是这个标准切换按钮似乎有灰色的背景颜色,而我只是希望它是白色的(如背景)。

示例图片

我一直在尝试:

android:background="@color/white"
android:background="@null"

但后来我也失去了我想保留的指示灯。我已经看到了一些关于更改切换按钮的背景颜色(创建自己的选择器)的答案,但我似乎也失去了那些指示灯。

这是布局的相关部分:

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <Button
                android:id="@+id/event_bottom_sheet_attenders"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@color/white"
                android:drawableLeft="@drawable/state_list_people_person_bottom_sheet"
                android:drawableStart="@drawable/state_list_people_person_bottom_sheet"
                android:gravity="center"
                android:padding="10dp"
                android:text="Attenders"
                android:textColor="@color/material_teal_500" />

            <ToggleButton
                android:id="@+id/event_bottom_sheet_toggle"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:checked="true"
                android:gravity="center"
                android:padding="10dp"
                android:textColor="@color/material_teal_500"
                android:textOff="Not going"
                android:textOn="Going" />

</LinearLayout>

我该如何解决这个问题?

提前致谢。

4

2 回答 2

1

您可以考虑先查看不同的android 主题

选择一个最适合您喜欢的主题,或者如果您想要一些特别的东西,您可以自定义自己的主题。

根据您的描述,您可以尝试 Android Light 主题。更改您的活动信息,如下所示:

  <activity android:theme="@android:style/Theme.Light">

P/s:应用主题还可以让您的应用看起来更加一致。

于 2016-04-09T09:52:37.350 回答
0

看一下这个 :-

ToggleButton Btn=new ToggleButton(this);// or get it from the layout by ToggleButton Btn=(ToggleButton) findViewById(R.id.IDofButton);
    Btn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            // TODO Auto-generated method stub
            if(isChecked)
                buttonView.setBackgroundColor(Color.GREY);
            else buttonView.setBackgroundColor(Color.WHITE);
        }
    });

根据需要进行相应的操作。

希望这可以帮助。:)

于 2016-04-09T09:52:45.200 回答