Je fais une application Android qui a des cases à cocher dans. J'ai ajouté quelques exemples à l'aide des fichiers XML uniquement pour que la disposition ressemble à celle que je souhaite. Lorsque je coche une case à l'aide du fichier XML, il est entouré d'une bordure, mais lorsque j'utilise Java pour ajouter la case à cocher par programme, il supprime la bordure qui l'entoure, rendant pratiquement impossible l'affichage de cette case.
Ce que je veux savoir, c'est comment formater la case à cocher pour qu'elle ressemble au style XML. Peut-il être fait en utilisant LayoutParams
ou y a-t-il une autre façon de le faire? J'ai lu sur setButtonDrawable
ou quelque chose mais vous ne savez pas comment vous y prendre, quelqu'un peut-il m'indiquer un tutoriel de base si c'est le chemin à suivre?
Case à cocher XML xml checkbox image http://redsquirrelsoftware.co.uk/xml.jpg
Case à cocher Java java checkbox image http://redsquirrelsoftware.co.uk/java.jpg
Code XML
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="30dp"
android:text="@string/checkbox" />
Code Java:
CheckBox checkbox = new CheckBox(this);
checkbox.setText(R.string.checkbox);
checkbox.setTextSize(TypedValue.COMPLEX_UNIT_PT, 10);
checkbox.setTextColor(Color.BLACK);
Réponses:
0 pour la réponse № 1Que diriez-vous d'ajouter un rembourrage? checkbox.setPadding (0,0,30,0);
0 pour la réponse № 2
J’ai essayé ça et ça marche, c’est peut-être parce que tu n’as pas mis LayoutParams
CheckBox checkbox = new CheckBox(this);
checkbox.setText("completed");
checkbox.setTextSize(TypedValue.COMPLEX_UNIT_PT, 10);
checkbox.setTextColor(Color.BLACK);
checkbox.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
LinearLayout layout = (LinearLayout)findViewById(R.id.layoutku);
layout.addView(checkbox);
0 pour la réponse № 3
Ok, il va effectivement à la case à cocher standardstyle utilisé dans le fichier XML, mais uniquement lorsque je ferme l’application et la rouvre à nouveau. J'imagine que c'est peut-être parce que je l'exécute via USB à partir d'Eclipse en mode développeur.
Je vais tester pour voir correctement une fois que j'ai "téléchargé"Connectez-vous au Play Store et voyez s’il fonctionne comme prévu. Ce n’est pas le plus gros problème au monde si l’application doit être rouverte avant de s’afficher correctement.