Strange drawableRight behavior for switch

I tried to make android:drawableLeft and android:drawableRight for Switch

drawableLeft shows fine, but drawableRight shows off track switch

How to make a track to display in the center?

My code is:

 <Switch android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableLeft="@drawable/moon" android:drawablePadding="10dp" android:drawableRight="@drawable/sun" android:textOff="" android:textOn="" /> 

I get like this

switch off

switch off

Turning on

Switch on

+6
source share
1 answer

I achieved this by adding 2 additional widgets like Linearlayout and ImageView

 <LinearLayout style="@style/Wrap" android:layout_height="match_parent" android:layout_gravity="bottom" android:layout_marginTop="8dp" android:layout_weight="1" android:gravity="center" > <Switch android:id="@+id/Sw_am_pm_button" android:layout_width="wrap_content" android:layout_height="match_parent" android:checked="true" android:drawableLeft="@drawable/moon" android:drawablePadding="6dp" android:switchMinWidth="40dp" android:textOff="" android:textOn="" android:thumb="@drawable/circle" android:track="@drawable/bg" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:src="@drawable/sun" /> </LinearLayout> 
+1
source

All Articles