Android по умолчанию Switch
имеет текст, а затем Switch
вкл./выкл. Я ожидаю Switch
вкл./Выкл., А затем текст. Не используйте другие виджеты, например TextView
. Как я могу установить текст Switch
справа.
Как сменить текст в правой части андроида?
Ответ 1
Оберните его в другой макет без текстового значения и добавьте текстовое представление. см. мой код:
<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>
Ответ 2
использование
android:layoutDirection="rtl"
затем
app:switchPadding="8dp"
Ответ 3
Добавьте этот код в файл 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" />
В активности или фрагменте:
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");
}
}
});
Я думаю, что это полезно для вас.... Спасибо вам
Ответ 4
Просто используйте android: layoutDirection = "rtl" или, android: layoutDirection = "ltr"
Больше ничего не нужно
Ответ 5
Я смог добиться желаемого вида с помощью комбинации:
-
width (120dp)
-
padding (75dp)
-
и switchpadding (-90dp)