HOW TO STYLE TOGGLEBUTTON SO THAT THE BACKGROUND COLOR IS WHITE?

Mark M

Total Post:28

Points:196
Posted by  Mark M
XML  Android  Java 
 887  View(s)
Ratings:
Rate this:

I have tried the following

View view = (View) findViewById (id);

view.setBackgroundColor (Color.WHITE);

The above destroys the property of the ToggleButton. I can no longer make out if it is TextView or ToggleButton. Clicking the button produces onClick but the UI change to show the selected bar is absent.

ToggleButton btn = (ToggleButton) findViewById (id);

btn.setBackgroundColor (Color.WHITE);

This also produces the same error. Using XML styling also causes the same error. I am using Android Studio v1.0.2 and the target is a lollipop emulator. I tried the same in 4.4.4 mobile. I see the same behavior.

I don't want to use images. Kindly don't suggest me that. I have gone through the threads that are available in stackoverflow - nothing works for me.

Can anyone help me?

  1. Lillian Martin

    Post:27

    Points:189
    Re: How to style ToggleButton so that the background color is WHITE?

    It will be something like this as an xml file in drawables that you want as the background for the toggle button. You need to add the various colors to a color file in res/values.

    <?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>

    I haven't checked it so I don't know if it works. Please let me know if I made any errors.

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!