Par défaut, la case Android affiche le texte À droite et la case à gauche
Je veux afficher la case à cocher à droite avec le texte à gauche
comment puis-je y arriver?
Je ne peux pas penser à une manière avec le style, mais vous pouvez simplement définir le texte de la case à cocher sur rien et placer un TextView à gauche de la case avec le texte souhaité.
Je pense qu'il est trop tard pour répondre à cette question, mais en réalité, il existe un moyen d'atteindre votre objectif. Vous devez simplement ajouter la ligne suivante à votre case à cocher:
Android:button="@null"
Android:drawableRight="?android:attr/listChoiceIndicatorMultiple"
Vous pouvez également utiliser votre case à cocher personnalisable.
Et pour un radioButton:
Android:button="@null"
Android:drawableRight="@Android:drawable/btn_radio"
Et si vous voulez le faire par programme:
Définissez une présentation, nommez-la RightCheckBox et copiez les lignes suivantes:
<?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"/>
et lorsque vous avez besoin de l'ajouter par programme, il vous suffit de le gonfler en CheckBox et de l'ajouter à la vue racine.
CheckBox cb = (CheckBox)((LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE)).inflate(R.layout.check_right_checkbox,null);
rootView.addView(cb);
Tu peux faire
<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" />
Suivre la ligne suffit
Android:layoutDirection="rtl"
Vous pouvez ajouter Android:layoutDirection="rtl"
, mais il n’est disponible qu’avec l’API 17.
Il suffit de copier ceci:
<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>
Bonne codding! :)
Le texte de la case à cocher n'est peut-être pas aligné à gauche
Android:button="@null"
Android:drawableRight="@Android:drawable/btn_radio"
dans un appareil. Peut utiliser CheckedTextView en remplacement pour éviter le problème,
<CheckedTextView
...
Android:checkMark="@Android:drawable/btn_radio" />
et ce lien vous sera utile: Alignez le texte à gauche, cochez la case à droite
Vous pouvez utiliser 79 à la place.
http://developer.Android.com/reference/Android/widget/CheckedTextView.html
Comme suggéré par @The Berga Vous pouvez ajouter Android:layoutDirection="rtl"
mais il est uniquement disponible avec l'API 17.
pour une implémentation dynamique, ça y est
chkBox.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
en outre, de la part de Hazhir imput, pour ce problème, il est nécessaire d’injecter cette propriété dans la configuration xml de la case à cocher Android: paddingLeft = "0dp", c’est pour éviter l’espace vide situé à gauche de la case.
Ajouter une autre réponse à cette question qui utilise CheckedTextView Si quelqu'un essaie de le faire par programme. Il a également la possibilité d'utiliser des images personnalisées pour la case à cocher. Et peut être fait en une seule vue
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");
De XML si vous voulez lancer -
<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"/>
Le lien suivant montre comment rendre plusieurs objets de vue Android standard avec une case à cocher animée à droite en définissant le droit de dessin.
Définissez le fond pour obtenir un effet d'entraînement.
[lien vers site Web avec exemple de case à cocher à droite et à gauche.] [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" />
Exemple checkline.xml (dans drawable, voir le lien pour la version animée dans drawable-v21)
Exemple de fichier transparent_ripple.xml (dans 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>
Exemple de fichier transparent_ripple.xml (dans Drawable, mettez en surbrillance uniquement aucune ondulation disponible
<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>
S'il n'est pas obligatoire d'utiliser un CheckBox
, vous pouvez simplement utiliser un Switch
à la place. Un commutateur affiche le texte sur le côté gauche par défaut.