2016-12-21 3 views
0

Я хочу создать переключатель, который выглядит следующим образом enter image description hereКак добавить цвет к кругу в переключателе в Android?

я сделал, что таким образом

<LinearLayout 
    android:layout_width="match_parent" 
    android:orientation="horizontal" 
    android:layout_height="wrap_content"> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Available" 
     android:textColor="#82BCB4" 
     android:textSize="20sp" 
     /> 
    <Switch 
     android:id="@+id/theSwitchId" 
     android:textOn="" 
     android:textOff="" 
     android:layout_width="wrap_content" 
     android:layout_height="20dp" 
     android:thumbTextPadding="5dp" 
     android:switchMinWidth="90dp" 
     android:layout_marginStart="40dp" 
     android:minHeight="60dp" 
     android:layout_gravity="center|center_vertical" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="UnAvailable" 
     android:layout_marginStart="40dp" 
     android:textColor="#224e6d" 
     android:textSize="20sp" 
     /> 
</LinearLayout> 

я не в состоянии изменить высоту переключателя и не смотрит, как его в этом образ. Пожалуйста, помогите мне с этим

+0

Вы можете попробовать использовать селектор, как описано здесь: http: // stackover flow.com/a/11499595/1468093 –

+0

Я немного смущен этим и совершенно новым для этого. Разве это не так, когда я нажимаю на переключатель, переключатель переключается слева направо, не помещая изображения @KamranAhmed – yacky

ответ

1

все, что вам нужно сделать, это просто использовать пользовательскую вытяжку, как дорожки из переключателя

это код для заказа Drawable:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="false"> 
    <shape android:shape="rectangle"> 
     <corners 
      android:radius="@dimen/_40sdp" /> 
     <solid 
      android:color="@android:color/darker_gray" /> 
     <padding 
      android:bottom="@dimen/_5dp" 
      android:left="@dimen/_5dp" 
      android:right="@dimen/_5dp" 
      android:top="@dimen/_5dp" /> 
    </shape> 
</item> 

Далее сделать эти изменения к вашему существующему расположению добавить андроид: thumbTint = "@ андроида: цвет/holo_blue_dark" или любой цвет, который соответствует вашим требованиям

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:orientation="horizontal"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Available" 
    android:textColor="#82BCB4" 
    android:textSize="20sp" /> 

<Switch 
    android:id="@+id/theSwitchId" 
    android:layout_width="wrap_content" 
    android:layout_height="20dp" 
    android:layout_gravity="center|center_vertical" 
    android:layout_marginStart="40dp" 
    android:minHeight="60dp" 
    android:switchMinWidth="90dp" 
    android:textOff="" 
    android:textOn="" 
    android:thumbTextPadding="5dp" 
    android:thumbTint="@android:color/holo_blue_dark" 
    android:track="@drawable/track_background" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginStart="40dp" 
    android:text="UnAvailable" 
    android:textColor="#224e6d" 
    android:textSize="20sp" /> 

надеюсь, что это помогает

нажмите здесь для просмотра Результирующие Скриншот

screenshot

+0

Спасибо @ Субир Чакраборти – yacky

0

В style.xml

<style name="switchCompatStyle"> 
     <item name="colorControlActivated">@color/colorPrimary</item> 
    </style> 

и код для переключателя как

<android.support.v7.widget.SwitchCompat 
       android:id="@+id/switch" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:padding="@dimen/_10sdp" 
       app:theme="@style/switchCompatStyle" /> 
+0

сам переключатель не отображается, если я добавляю @Rishabh Mahatha – yacky

+0

Добавили ли вы зависимость 'compile 'com.android.support: appcompat-v7: 25.0.0'' в своем файл градиента? –

+0

да его там @Rishabh Mahatha – yacky

0

Вы создаете Thumb в вытяжке XML: thumb.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="false" android:drawable="@drawable/ic_thumbselecter"/> 
    <item android:drawable="@drawable/ic_thumbselecter"/> 
</selector> 

И включил переключатель (в моем случае я использовал это):

<Switch 
    app:kswThumbDrawable="@drawable/thumb"/>