Je voudrais rendre CheckBox un peu plus petit / plus grand, comment puis-je faire cela?
92
Il vous suffit de définir les drawables associés et de les définir dans la case à cocher:
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="new checkbox"
android:background="@drawable/my_checkbox_background"
android:button="@drawable/my_checkbox" />
L'astuce consiste à définir les drawables. Voici un bon tutoriel à ce sujet .
À partir du niveau d'API 11, il existe une autre approche:
la source
Voici une meilleure solution qui ne découpe et / ou ne rend pas flou le dessinable, mais ne fonctionne que si la case à cocher ne contient pas de texte lui-même (mais vous pouvez toujours avoir du texte, c'est juste plus compliqué, voir à la fin).
Le résultat:
À quoi ressemblait la solution précédente
scaleX
et à quoiscaleY
ressemblait:Vous pouvez avoir une case à cocher de texte en ajoutant une à
TextView
côté et en ajoutant un écouteur de clic sur la mise en page parent, puis en déclenchant la case par programme.la source
Eh bien, j'ai trouvé de nombreuses réponses, mais elles fonctionnent bien sans texte lorsque nous avons besoin de texte également avec une case à cocher comme dans mon interface utilisateur
Ici, selon mes exigences d'interface utilisateur, je ne peux pas ne pas augmenter TextSize, donc une autre option que j'ai essayée est scaleX et scaleY (Strach la case à cocher) et un sélecteur XML personnalisé avec des images .png (cela crée également un problème avec une taille d'écran différente)
Faites-le en 3 étapes.
Étape 1: Copiez ces trois Vector Drawable dans votre dossier Drawable
vérifié.xml
un_checked.xml
( Notez que si vous travaillez avec Android Studio, vous pouvez également ajouter ces Vector Drawable à partir de là, faites un clic droit sur votre dossier dessinable puis New / Vector Asset, puis sélectionnez ces dessinables à partir de là )
Étape 2: créer un sélecteur XML pour la case à cocher
check_box_selector.xml
Étape 3: Définissez ce dessinable dans la case à cocher
Maintenant c'est comme:
J'espère que cela aidera!
la source
android:button="@null"
etandroid:background="@drawable/check_box_selector"
faire ajuster la taille de la case à cocher.j'utilise
android:scaleX="0.70" android:scaleY="0.70"
pour ajuster la taille de la case à cocher
puis je fixe des marges comme ça
pour ajuster l'emplacement de la case à cocher.
la source
Voici ce que j'ai fait, premier set:
android:button="@null"
et aussi définir
puis dans votre code Java:
Cela fonctionne pour moi et j'espère que cela fonctionnera pour vous!
la source
MISE À JOUR : cela ne fonctionne qu'à partir de l'API 17 ...
Pour ajouter aux autres réponses brillantes déjà données, vous ne pouvez que la case à cocher aussi petite que la taille du texte le permet.
Selon ma réponse à cette question: - comment pouvons-nous réduire la taille de la case à cocher s'il vous plaît me donner une idée
CheckBox
tire sa hauteur du TEXTE ainsi que de l'image.Définissez ces propriétés dans votre XML:
Bien sûr, cela ne fonctionne que si vous ne voulez pas de texte (a fonctionné pour moi).
Sans ces changements, le
CheckBox
me donnait une grande marge autour de mon image, comme mentionné par Joela source
Vous pouvez essayer la solution suivante pour modifier la taille de
custom checkbox
en définissant les propriétés suivantes surCheckbox
dans votre fichier de disposition. A travaillé pour moiajouter les lignes suivantes au fichier dessinable
la source
J'ai trouvé un moyen de le faire sans créer vos propres images. En d'autres termes, l'image système est mise à l'échelle. Je ne prétends pas que la solution est parfaite; si quelqu'un connaît un moyen de raccourcir certaines étapes, je serai heureux de savoir comment.
Tout d'abord, je place ce qui suit dans la classe d'activité principale du projet (WonActivity). Cela a été tiré directement de Stack Overflow - merci les gars !
Deuxièmement, j'ai créé une classe pour «mettre à l'échelle un dessinable». Veuillez noter qu'il est complètement différent du ScaleDrawable standard.
Enfin, j'ai défini une classe de case à cocher.
C'est tout. Si vous mettez un WonCheckBox dans votre vue et appliquez setHeight (), l'image de la case à cocher sera de la bonne taille.
la source
utilisez ce code.
dans la mise en page:
ajouter un nouveau dessinable: my_checkbox.xml
et fin créer 2 dessinables:
checkbox_off_background.xml
et aussi, checkbox_on_background.xml
la source
Supposons que votre xml d'origine est:
puis supprimez simplement
android:button="@drawable/xml_above"
dans votre case à cocher xml, et effectuez une mise à l'échelle dessinable par programmation en java (diminuez la150
grande taille à votre dp souhaité):la
convertDpToPixel
méthode:la source
Je n'ai pas pu trouver la réponse pertinente à mon besoin que je l'ai compris. Donc, cette réponse est pour la case à cocher avec du texte comme ci-dessous où vous souhaitez redimensionner la case à cocher dessiné et le texte séparément.
Vous avez besoin de deux PNG cb_checked.png et cb_unchechecked.png pour les ajouter au dossier dessinable
Créez maintenant cb_bg_checked.xml
Et, cb_bg_unchecked.xml
Créez ensuite un sélecteur XML checkbox.xml
Maintenant, définissez votre layout.xml comme ceci
la source
Si vous souhaitez ajouter une image personnalisée à la case à cocher, définissez le bouton sur null et ajoutez simplement un arrière-plan à la case à cocher qui résout
la source