2013-09-26 15 views
6

Domyślnie Android Switch ma tekst, a następnie Switch wł./Wył. Oczekuję włączania/wyłączania Switch, a następnie wpisywania tekstu. Nie używaj innych widżetów, takich jak TextView. W jaki sposób ustawić tekst z prawej strony po stronie Switch?Jak zmienić Przełącz tekst na prawą stronę w systemie Android?

+0

Użyj atrybutu xml jak android: textOn i android: textOff w twoim xml. –

+1

@JiteshDalsaniya przełącznik domyślny ma tekst przełącznika po lewej stronie i przełącznik ma prawą stronę. Spodziewam się przełączenia po lewej stronie i przełącz tekstu po prawej stronie. Czy możesz teraz wyjaśnić? to, co oczekuję, –

Odpowiedz

-2

udało mi się osiągnąć wygląd chciałem z kombinacją:

  • szerokości (120dp)

  • wyściółka (75dp)

  • i switchpadding (-90dp)

enter image description here

8

enter image description here

Zawiń w innym układzie bez wartości tekstowej i dodaj widok tekstowy. zobaczyć mój kod:

<LinearLayout 
     android:layout_width="match_parent" 
     android:orientation="horizontal" 
     android:paddingTop="10dp" 
     android:paddingBottom="10dp" 
     android:layout_height="wrap_content"> 
      <Switch 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/reminder" /> 
      <TextView 
       android:layout_width="wrap_content" 
       android:text="Meeting Reminders" 
       android:layout_height="wrap_content" /> 
    </LinearLayout> 
+1

Działa świetnie, ale jak zaimplementować po kliknięciu "Przypomnienia o spotkaniu", aby przełączyć kontrolę "Przełączania", Bez logiki kodu w działaniu? Na przykład 'for =" @ id/przypomnienie "' – mihkov

2

Dodaj ten kod w pliku XML:

  <Switch 
       android:id="@+id/simpleSwitch" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentEnd="true" 
       android:layout_alignParentRight="true" 

       android:layout_marginEnd="15dp" 
       android:layout_marginRight="15dp" 
       android:layout_marginTop="5dp" 
       android:checked="false" 
       android:textColor="@color/black" 
       android:textOff="@string/no" 
       android:textOn="@string/yes" 
       android:theme="@style/SCBSwitch" /> 

      <TextView 
       android:id="@+id/switchBtn_txtView" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginEnd="5dp" 
       android:layout_marginRight="5dp" 
       android:layout_marginTop="10dp" 
       android:layout_toLeftOf="@+id/simpleSwitch" 
       android:gravity="center_horizontal" /> 

W działalności lub fragment:

Switch simpleSwitchBtn = (Switch) findViewById(R.id.simpleSwitch); 
     final TextView switchBtn_txtView = (TextView) findViewById(R.id.switchBtn_txtView); 


     simpleSwitchBtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
      @Override 
      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
       if(isChecked){ 
        switchBtn_txtView.setText("Yes"); 
       } 
       else { 
        switchBtn_txtView.setText("No"); 
       } 
      } 
     }); 

Myślę, że pomocne do Ciebie .... Dziękuję

Powiązane problemy