如何在android中将Switch文本更改为右侧?

时间:2013-09-26 08:41:28

标签: android android-layout

Android默认Switch包含文字,然后Switch开启/关闭。我期待开启/关闭Switch然后发短信。请勿使用其他小部件,例如TextView。如何设置Switch右侧文字。

5 个答案:

答案 0 :(得分:16)

enter image description here

将其包裹在另一个没有文本值的布局中,并添加textview。看我的代码:

    <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 :(得分:10)

使用

  let start = new Date(now.getFullYear(),now.getMonth(),now.getDate(),1,0,0);

  let end = new Date(now.getFullYear(),now.getMonth(),now.getDate()+1,0,59,59);

  let query = {createdAt: {$gte: start, $lt: end} };

  Account
  .find(query)
  .exec((err, accounts) => console.log(account) )

然后

android:layoutDirection="rtl"

答案 2 :(得分:2)

在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");
                }
            }
        });

我觉得它对你很有帮助.... 谢谢

答案 3 :(得分:0)

对于基于rtl的控件,请使用CheckBox而不是Switch

答案 4 :(得分:-2)

我能够通过以下组合实现我想要的外观:

  • 宽度(120dp)

  • 填充(75dp)

  • 和switchpadding(-90dp)

enter image description here