如何设置切换按钮的样式,以便背景颜色为白色



我尝试了以下方法

View view = (View) findViewById (id);
view.setBackgroundColor (Color.WHITE);

以上破坏了切换按钮的属性。我无法再分辨它是TextView还是切换按钮。单击按钮将生成 onClick,但显示所选栏的 UI 更改不存在。

ToggleButton btn = (ToggleButton) findViewById (id);
btn.setBackgroundColor (Color.WHITE);

这也会产生相同的错误。使用 XML 样式也会导致相同的错误。我使用的是Android Studio v1.0.2,目标是棒棒糖模拟器。我在 4.4.4 移动设备中尝试了同样的事情。我看到了相同的行为。

我不想使用图像。请不要向我建议。我已经浏览了堆栈溢出中可用的线程 - 没有任何适合我的东西。

谁能帮我?

它将

是这样的可绘制对象中的 xml 文件,您希望将其作为切换按钮的背景。您需要将各种颜色添加到 res/values 中的颜色文件中。请参阅: https://developer.android.com/samples/MediaRouter/res/values/colors.html

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:state_pressed="true">
        <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
            <item android:top="2dp">
                <shape android:shape="rectangle">
                    <solid android:color="@color/toggle_button_pressed" />
                </shape>
            </item>
            <item android:top="2dp" android:left="10dp" android:right="10dp">
                <shape android:shape="rectangle">
                    <solid android:color="@color/toggle_button_checked" />
                </shape>
            </item>
            <item android:top="2dp" android:bottom="2dp" android:left="10dp" android:right="10dp">
                <shape android:shape="rectangle">
                    <solid android:color="@color/toggle_button_pressed" />
                </shape>
            </item>
        </layer-list>    
    </item>
    <item android:state_pressed="true">
        <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
            <item android:top="2dp">
                <shape android:shape="rectangle">
                    <solid android:color="@color/toggle_button_pressed" />
                </shape>
            </item>
            <item android:top="2dp" android:left="10dp" android:right="10dp">
                <shape android:shape="rectangle">
                    <solid android:color="@color/toggle_button_unchecked" />
                </shape>
            </item>
            <item android:top="2dp" android:bottom="2dp" android:left="10dp" android:right="10dp">
                <shape android:shape="rectangle">
                    <solid android:color="@color/toggle_button_pressed" />
                </shape>
            </item>
        </layer-list>    
    </item>
    <item android:state_checked="true">
        <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
           <item>
                <shape android:shape="rectangle">
                    <solid android:color="@color/toggle_button_shadow" />
                </shape>
            </item>
            <item android:bottom="2dp">
                <shape android:shape="rectangle">
                    <solid android:color="@color/toggle_button_unpressed" />
                </shape>
            </item>
            <item android:bottom="2dp" android:left="10dp" android:right="10dp">
                <shape android:shape="rectangle">
                    <solid android:color="@color/toggle_button_checked" />
                </shape>
            </item>
            <item android:bottom="4dp" android:left="10dp" android:right="10dp">
                <shape android:shape="rectangle">
                    <solid android:color="@color/toggle_button_unpressed" />
                </shape>
            </item>
        </layer-list>
    </item>
    <item>
        <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
           <item>
                <shape android:shape="rectangle">
                    <solid android:color="@color/toggle_button_shadow" />
                </shape>
            </item>
            <item android:bottom="2dp">
                <shape android:shape="rectangle">
                    <solid android:color="@color/toggle_button_unpressed" />
                </shape>
            </item>
            <item android:bottom="2dp" android:left="10dp" android:right="10dp">
                <shape android:shape="rectangle">
                    <solid android:color="@color/toggle_button_unchecked" />
                </shape>
            </item>
            <item android:bottom="4dp" android:left="10dp" android:right="10dp">
                <shape android:shape="rectangle">
                    <solid android:color="@color/toggle_button_unpressed" />
                </shape>
            </item>
        </layer-list>
    </item>
</selector>

我还没有检查过,所以我不知道它是否有效。如果我犯了任何错误,请告诉我。

相关内容

  • 没有找到相关文章

最新更新