J'ai eu ce dessinable pour avoir un rectangle arrondi en arrière-plan:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<stroke android:width="1dp" android:color="@color/light_gray" />
<padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />
<corners android:radius="6dp" />
</shape>
Cela fonctionne bien, comme prévu.
Maintenant, je veux changer cela pour arrondir uniquement les coins supérieurs, donc je le change en ceci:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<stroke android:width="1dp" android:color="@color/light_gray" />
<padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />
<corners android:topLeftRadius="6dp" android:topRightRadius="6dp"
android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp"/>
</shape>
Mais maintenant, aucun des coins n'est arrondi et j'obtiens un rectangle uni. Qu'est-ce que j'oublie ici?
android
drawable
rounded-corners
Aleks G
la source
la source
Réponses:
Essayez de donner ces valeurs:
Notez que j'ai changé
0dp
en0.1dp
.EDIT: Voir le commentaire d' Aleks G ci-dessous pour une version plus propre
la source
<corners android:radius="1dp" android:topLeftRadius="6dp" android:topRightRadius="6dp" android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp"/>
- cela produit des coins inférieurs parfaitement carrés sans même un soupçon d'arrondi. Cependant, votre solution fonctionne à peu près.android:radius="1dp"
Essayez de faire quelque chose comme ceci:
Il ne semble pas approprié de définir un rayon de coin différent du rectangle. Vous pouvez donc utiliser ce hack.
la source
Dans mon cas ci-dessous le code
la source
Se fondant sur la réponse de busylee , voici comment vous pouvez faire un
drawable
qui n'a qu'un seul un coin arrondi ( en haut à gauche, dans cet exemple):S'il vous plaît noter que ce qui précède
drawable
est pas correctement montré dans l'aperçu Android Studio (2.0.0p7). Pour le prévisualiser quand même, créez une autre vue et utilisez-la commeandroid:background="@drawable/..."
.la source
J'ai essayé votre code et j'ai obtenu un bouton dans le coin supérieur arrondi. J'ai donné les couleurs au fur
@ffffff
et à mesure et le trait que j'ai donné#C0C0C0
.essayer
la source
Vous devrez peut-être lire ceci https://developer.android.com/guide/topics/resources/drawable-resource.html#Shape
et ci-dessous il y a une note.
Remarque Chaque coin doit (initialement) avoir un rayon d'angle supérieur à 1, sinon aucun coin n'est arrondi. Si vous souhaitez que des coins spécifiques ne soient pas arrondis, une solution consiste à utiliser android: radius pour définir un rayon de coin par défaut supérieur à 1, mais remplacez chaque coin par les valeurs que vous voulez vraiment, en fournissant zéro ("0dp" ) où vous ne voulez pas de coins arrondis.
la source
Créez roung_top_corners.xml sur drawable et copiez le code ci-dessous
la source