ce n'est pas une question large, c'est absolument pertinent. le marquer comme «trop large» n'est qu'une mentalité SO qui doit être changée. Arrêtez d'être des dictateurs.
user734028
2
d'accord avec user734028: qu'est-ce que diable comment se ferment pour être trop large ?? la seule façon dont cela aurait pu être plus précis si l'OP avait demandé comment régler le rayon du coin sur N pixels. Allons!
nyholku
Réponses:
679
Si vous voulez quelque chose comme ça
voici le code.
1.Créez un fichier xml dans votre dossier dessinable comme mybutton.xml et collez le balisage suivant:
il s'est écrasé: Causé par: org.xmlpull.v1.XmlPullParserException: ligne de fichier XML binaire # 24: la balise <item> nécessite un attribut 'drawable' ou une balise enfant définissant un drawable
Zennichimaro
3
pouvons-nous le faire par programme.
Killer
Il indique que le sélecteur d'élément doit être déclaré EDIT: Désolé, le fichier se trouvait dans le dossier de valeurs au lieu du dessinable. Quand je l'ai transféré, cela a fonctionné.
F0r3v3r-A-N00b
qu'est-ce qui crée l'ombre au clic? j'essaie de réduire la largeur des ombres en bas ... pas de chance
Neville Nazerane
Je ne vois pas ce que montrer comment les sélecteurs sont codés a à voir avec expliquer comment les coins des boutons doivent être codés.
TavernSenses
345
Créez un fichier xml dans un dossier dessinable comme ci-dessous
<?xml version="1.0" encoding="utf-8"?><shapexmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"android:padding="10dp"><!-- you can use any color you want I used here gray color--><solidandroid:color="#ABABAB"/><cornersandroid:radius="10dp"/></shape>
Appliquez-le comme arrière-plan au bouton que vous souhaitez arrondir.
Ou vous pouvez utiliser un rayon séparé pour chaque coin comme ci-dessous
@BenSimpson, vous verrez qu'il y a une différence de forme lorsque vous ne mettez qu'une seule ligne au lieu de définir chacun des rayons d'angle individuellement.
Garima Tiwari
cela fonctionne plus parfaitement que la réponse mise en évidence. merci mille fois!
Dan Linh
37
Créez un fichier XML comme ci-dessous. Définissez-le comme arrière-plan pour le bouton. Modifiez l'attribut radius selon votre souhait, si vous avez besoin de plus de courbe pour le bouton.
À partir de la version 1.1.0, vous pouvez également modifier la forme de votre bouton. Utilisez simplement l' shapeAppearanceOverlayattribut dans le style du bouton:
Il nécessite également d'utiliser le thème Matériel
Vlad
@Vlad Oui, les composants matériels nécessitent un thème matériel.
Gabriele Mariotti
11
Le moyen le plus simple que j'ai découvert était de créer un nouveau fichier xml dans le dossier dessinable, puis de pointer l'arrière-plan des boutons vers ce fichier xml. Voici le code que j'ai utilisé:
Pour restaurer l'effet d'ondulation du thème du matériau dans l'arrière-plan dessinable personnalisé, ajoutez-le android:foreground="?attr/selectableItemBackground"dans la vue des boutons. Voir stackoverflow.com/questions/38327188/…
Mr-IDE
11
Créer un fichier round_btn.xml dans le dossier Drawable ...
si vous utilisez des dessins vectoriels, il vous suffit de spécifier un élément <corners> dans votre définition de dessin. J'ai couvert cela dans un article de blog .
Si vous utilisez des tirages bitmap / 9 patchs, vous devrez créer les coins avec transparence dans l'image bitmap.
Réponses:
Si vous voulez quelque chose comme ça
voici le code.
1.Créez un fichier xml dans votre dossier dessinable comme mybutton.xml et collez le balisage suivant:
2. Utilisez maintenant ce dessin pour l'arrière-plan de votre vue. Si la vue est un bouton, quelque chose comme ceci:
la source
Créez un fichier xml dans un dossier dessinable comme ci-dessous
Appliquez-le comme arrière-plan au bouton que vous souhaitez arrondir.
Ou vous pouvez utiliser un rayon séparé pour chaque coin comme ci-dessous
la source
Créez un fichier XML comme ci-dessous. Définissez-le comme arrière-plan pour le bouton. Modifiez l'attribut radius selon votre souhait, si vous avez besoin de plus de courbe pour le bouton.
button_background.xml
Définissez l'arrière-plan de votre bouton:
la source
créer shape.xml dans un dossier dessinable
comme shape.xml
et dans myactivity.xml
vous pouvez utiliser
la source
Créer un fichier myButton.xml
ajouter à votre bouton
la source
Oui, il y en a aujourd'hui, et c'est très simple.
Utilisez simplement le
MaterialButton
dans la bibliothèque de composants de matériaux avec l'app:cornerRadius
attribut.Quelque chose comme:
Il suffit d'obtenir un Bouton aux coins arrondis.
Vous pouvez utiliser l'un des styles de bouton Matériau . Par exemple:
À partir de la version 1.1.0, vous pouvez également modifier la forme de votre bouton. Utilisez simplement l'
shapeAppearanceOverlay
attribut dans le style du bouton:Ensuite, utilisez simplement:
Vous pouvez également appliquer le
shapeAppearanceOverlay
dans la disposition xml:Le
shapeAppearance
permet également d'avoir des formes et des dimensions différentes pour chaque coin:la source
Le moyen le plus simple que j'ai découvert était de créer un nouveau fichier xml dans le dossier dessinable, puis de pointer l'arrière-plan des boutons vers ce fichier xml. Voici le code que j'ai utilisé:
la source
android:foreground="?attr/selectableItemBackground"
dans la vue des boutons. Voir stackoverflow.com/questions/38327188/…Créer un fichier round_btn.xml dans le dossier Drawable ...
et utilisez ce fichier.xml comme arrière-plan du bouton
la source
Ce lien contient toutes les informations dont vous avez besoin. Ici
Shape.xml
et main.xml
Cela devrait vous donner le résultat souhaité.
Bonne chance
la source
bouton de style avec icône
shape.xml
la source
si vous utilisez des dessins vectoriels, il vous suffit de spécifier un élément <corners> dans votre définition de dessin. J'ai couvert cela dans un article de blog .
Si vous utilisez des tirages bitmap / 9 patchs, vous devrez créer les coins avec transparence dans l'image bitmap.
la source
dossier dessinable
dossier de disposition
assurez-vous d'ajouter du style pour éviter l'arrière-plan carré
la source