webentwicklung-frage-antwort-db.com.de

Wie wird das Kontrollkästchen für Android auf der rechten Seite angezeigt?

Standardmäßig zeigt das Android-Kontrollkästchen auf der rechten Seite Text und das Kontrollkästchen auf der linken Seite
Ich möchte das Kontrollkästchen auf der rechten Seite und den Text auf der linken Seite anzeigen 

wie kann ich das erreichen?

111
UMAR

Ich kann mir beim Styling keine Möglichkeit vorstellen, aber Sie könnten den Text des Kontrollkästchens einfach auf nichts setzen und links neben dem Kontrollkästchen eine Textansicht mit dem gewünschten Text einfügen.

39
xil3

Ich denke, es ist zu spät, um diese Frage zu beantworten, aber tatsächlich gibt es einen Weg, um Ihr Ziel zu erreichen. Sie müssen nur die folgende Zeile in Ihr Kontrollkästchen einfügen:

Android:button="@null"
Android:drawableRight="?android:attr/listChoiceIndicatorMultiple"

Sie können auch Ihr benutzerdefiniertes Zeichenfeld für das Kontrollkästchen verwenden.

Und für einen RadioButton:

Android:button="@null"
Android:drawableRight="@Android:drawable/btn_radio"

Und wenn Sie es programmgesteuert machen wollen:

Definieren Sie ein Layout und nennen Sie es RightCheckBox. Kopieren Sie die folgenden Zeilen:

<?xml version="1.0" encoding="utf-8"?>
<CheckBox xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:text="hello"
    Android:layout_width="match_parent" 
    Android:layout_height="match_parent"
    Android:button="@null"
    Android:drawableRight="?android:attr/listChoiceIndicatorMultiple"/>

und wenn Sie es programmgesteuert hinzufügen müssen, müssen Sie es nur in eine CheckBox aufblasen und der Stammansicht hinzufügen.

CheckBox cb = (CheckBox)((LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE)).inflate(R.layout.check_right_checkbox,null);
rootView.addView(cb);
318
Hazhir

Du kannst tun

<CheckBox
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:gravity="right|center"//or "center_vertical" for center text
Android:layoutDirection="rtl"
Android:text="hello" />

Folgezeile ist genug 

Android:layoutDirection="rtl"
67
Mahesh Lad

Sie können Android:layoutDirection="rtl" hinzufügen, ist jedoch nur mit API 17 verfügbar.

43
The Berga

Kopieren Sie einfach das hier:

    <LinearLayout
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:orientation="horizontal">
        <TextView
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:text="Your text:"/>
        <CheckBox
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:checked="true"
            />
    </LinearLayout>

Glückliches Codding! :)

15
Ivo Stoyanov

Kontrollkästchen-Text wird möglicherweise nicht mit links ausgerichtet

Android:button="@null"
Android:drawableRight="@Android:drawable/btn_radio"

in einem Gerät. Kann CheckedTextView als Ersatz verwenden, um das Problem zu vermeiden. 

<CheckedTextView
    ...
    Android:checkMark="@Android:drawable/btn_radio" />

und dieser Link wird hilfreich sein: Text links ausrichten, Kontrollkästchen rechts

12
cfh008

Sie können checkedTextView stattdessen verwenden.

http://developer.Android.com/reference/Android/widget/CheckedTextView.html

5
Abhigyan

Wie von @The Berga vorgeschlagen, können Sie Android:layoutDirection="rtl" hinzufügen, dies ist jedoch nur mit API 17 verfügbar.
Für eine dynamische Implementierung geht es hier 

chkBox.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
4
Sri Kanth

des Weiteren ist es aus Hazhirs Hinweis erforderlich, diese Eigenschaft in das Kontrollkästchen XML-Konfiguration Android einzufügen: paddingLeft = "0dp", um Leerzeichen auf der linken Seite des Kontrollkästchens zu vermeiden.

3
zeusboy

Hinzufügen einer weiteren Antwort zu dieser Frage, die CheckedTextView verwendet Wenn jemand versucht, dies programmgesteuert auszuführen. Es hat auch die Möglichkeit, benutzerdefinierte Bilder für das Kontrollkästchen zu verwenden. Und das in einer einzigen Ansicht

final CheckedTextView checkBox = new CheckedTextView(getApplicationContext());
    checkBox.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
    checkBox.setId(1);
    checkBox.setCheckMarkDrawable(Android.R.drawable.checkbox_off_background);
    checkBox.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (checkBox.isChecked()){
                checkBox.setChecked(false);
                checkBox.setCheckMarkDrawable(Android.R.drawable.checkbox_off_background);
            }else{
                checkBox.setChecked(true);
                checkBox.setCheckMarkDrawable(Android.R.drawable.checkbox_on_background);
            }
        }
    });
    checkBox.setTextColor(Color.BLACK);
    checkBox.setGravity(Gravity.LEFT);
    checkBox.setText("hi");

Von XML aus, wenn Sie initiieren möchten - 

<CheckedTextView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:checkMark="@Android:drawable/checkbox_off_background"
        Android:checked="false"
        Android:text="Hi from xml"/>
1
Kapil G

Der folgende Link veranschaulicht, wie Sie mehrere Standard-Android-Ansichtsobjekte mit einem animierten Kontrollkästchen auf der rechten Seite rendern können, indem Sie die rechte Zeichenebene festlegen.

Legen Sie den Hintergrund fest, um einen Welleneffekt zu erzielen. 

[Link zur Website mit Beispiel-Kontrollkästchen rechts und links.] [1] http://landenlabs.com/Android/uicomponents/uicomponents.html#checkbox

         <Button
            Android:id="@+id/p2Button1"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"

            Android:background="@drawable/transparent_ripple"
            Android:drawableRight="@drawable/checkline"
            Android:gravity="left|center_vertical"
            Android:text="Button"
            Android:textAllCaps="false"

            Android:textColor="@Android:color/white"
            Android:textSize="@dimen/buttonTextSize" />

        <Android.support.v7.widget.AppCompatButton
            Android:id="@+id/p2Button2"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"

            Android:background="@drawable/transparent_ripple"
            Android:drawableRight="@drawable/checkline"
            Android:gravity="left|center_vertical"
            Android:text="AppCompatButton"
            Android:textAllCaps="false"

            Android:textColor="@Android:color/white"
            Android:textSize="@dimen/buttonTextSize" />

        <TextView
            Android:id="@+id/p2TextView1"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"

            Android:background="@drawable/transparent_ripple"
            Android:drawableRight="@drawable/checkline"
            Android:gravity="left|center_vertical"
            Android:hapticFeedbackEnabled="true"

            Android:text="TextView"
            Android:textColor="@Android:color/white"
            Android:textSize="@dimen/buttonTextSize" />

        <Android.support.v7.widget.AppCompatTextView
            Android:id="@+id/p2TextView2"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"

            Android:background="@drawable/transparent_ripple"
            Android:drawableRight="@drawable/checkline"
            Android:gravity="left|center_vertical"
            Android:hapticFeedbackEnabled="true"

            Android:text="AppCompatTextView"
            Android:textColor="@Android:color/white"
            Android:textSize="@dimen/buttonTextSize" />

        <View
            Android:layout_width="match_parent"
            Android:layout_height="1dp"
            Android:background="@Android:color/white" />

        <CheckBox
            Android:id="@+id/p2Checkbox1"
            Android:layout_width="match_parent"
            Android:layout_height="@dimen/buttonHeight"
            Android:background="@drawable/transparent_ripple"
            Android:button="@null"
            Android:checked="true"
            Android:drawableRight="@drawable/checkline"
            Android:gravity="left|center_vertical"
            Android:text="CheckBox"
            Android:textColor="@Android:color/white"
            Android:textSize="@dimen/buttonTextSize" />

        <Android.support.v7.widget.AppCompatCheckBox
            Android:id="@+id/p2Checkbox2"
            Android:layout_width="match_parent"
            Android:layout_height="@dimen/buttonHeight"
            Android:background="@drawable/transparent_ripple"
            Android:button="@null"
            Android:checked="true"
            Android:drawableRight="@drawable/checkline"
            Android:gravity="left|center_vertical"
            Android:text="AppCompatCheckBox"
            Android:textColor="@Android:color/white"
            Android:textSize="@dimen/buttonTextSize" />

        <Android.support.v7.widget.AppCompatCheckedTextView
            Android:id="@+id/p2Checkbox3"
            Android:layout_width="match_parent"
            Android:layout_height="@dimen/buttonHeight"
            Android:background="@drawable/transparent_ripple"
            Android:checkMark="@drawable/checkline"
            Android:checked="true"
            Android:gravity="left|center_vertical"
            Android:text="AppCompatCheckedTextView"
            Android:textColor="@Android:color/white"
            Android:textSize="@dimen/buttonTextSize" />

        <!--  Android:checkMark="?android:attr/listChoiceIndicatorMultiple" -->
        <CheckedTextView
            Android:id="@+id/p2Checkbox4"
            Android:layout_width="match_parent"
            Android:layout_height="@dimen/buttonHeight"
            Android:background="@drawable/transparent_ripple"
            Android:checkMark="@drawable/checkline"
            Android:checked="true"
            Android:gravity="left|center_vertical"
            Android:text="CheckedTextView"
            Android:textColor="@Android:color/white"
            Android:textSize="@dimen/buttonTextSize" />

        <CheckBox
            Android:id="@+id/p2Checkbox5"
            Android:layout_width="match_parent"
            Android:layout_height="@dimen/buttonHeight"
            Android:background="@drawable/transparent_ripple"
            Android:checked="true"
            Android:gravity="center_vertical|end"
            Android:text="CheckBox"
            Android:textColor="@Android:color/white"
            Android:textSize="@dimen/buttonTextSize" />

        <View
            Android:layout_width="match_parent"
            Android:layout_height="1dp"
            Android:background="@Android:color/white" />


        <ToggleButton
            Android:id="@+id/p2ToggleButton1"
            Android:layout_width="match_parent"
            Android:layout_height="@dimen/buttonHeight"
            Android:background="@drawable/transparent_ripple"
            Android:checked="true"
            Android:drawableRight="@drawable/checkline"
            Android:gravity="center_vertical|left"
            Android:textAllCaps="false"
            Android:textColor="@Android:color/white"

            Android:textOff="ToggleButtonOff"

            Android:textOn="ToggleButtonOn"
            Android:textSize="@dimen/buttonTextSize" />

        <ToggleButton
            Android:id="@+id/p2ToggleButton2"
            Android:layout_width="match_parent"
            Android:layout_height="@dimen/buttonHeight"
            Android:background="@drawable/transparent_ripple"
            Android:checked="true"
            Android:drawableRight="@drawable/btn_check_material_anim"
            Android:gravity="center_vertical|left"
            Android:textAllCaps="false"

            Android:textColor="@Android:color/white"
            Android:textOff="ToggleBtnnAnimOff"
            Android:textOn="ToggleBtnnAnimOn"
            Android:textSize="@dimen/buttonTextSize" />

Beispiel checkline.xml (in drawable, siehe Link für animierte Version in drawable-v21)

Beispiel transparent_ripple.xml (in drawable-v21)

<!-- Limit ripple to view object, can also use shape such as oval -->
<item Android:id="@Android:id/mask" Android:drawable="@Android:color/white" />

<item>
    <selector xmlns:Android="http://schemas.Android.com/apk/res/Android"
        Android:enterFadeDuration="200"
        Android:exitFadeDuration="200">

        <item Android:state_pressed="true">
            <shape Android:shape="rectangle">
                <solid Android:color="#80c0c000" />
            </shape>
        </item>
    </selector>
</item>


Beispiel transparent_ripple.xml (in drawable markieren Sie nur keine verfügbare Welligkeit

<item Android:state_pressed="true">
    <shape Android:shape="rectangle">
        <solid Android:color="#80c0c000" />
    </shape>
</item>
<item>
    <shape Android:shape="rectangle">
        <solid Android:color="@Android:color/transparent" />
    </shape>
</item>

0
LanDenLabs

Wenn Sie nicht unbedingt eine CheckBox verwenden müssen, können Sie stattdessen eine Switch verwenden. Ein Schalter zeigt standardmäßig den Text auf der linken Seite.

0
Oliver Kranz