Home > DeveloperSection > Forums > How to style ToggleButton so that the background color is WHITE?
Kamlakar Singh
Kamlakar Singh

Total Post:28

Points:196
Posted on    February-03-2015 11:13 PM

 Mobile Development XML  Android  Java 
Ratings:


 1 Reply(s)
 564  View(s)
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?



Lillian Martin

Total Post:27

Points:189
Posted on    February-03-2015 11:27 PM

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.


Don't want to miss updates? Please click the below button!

Follow MindStick