2012-05-12 4 views
2

Je suis en train de:Pourquoi les coins (rayon) ne peuvent pas être différents?

<corners 
android:bottomRightRadius="0dp" 
android:bottomLeftRadius="0dp" 
android:topLeftRadius="10dp" 
android:topRightRadius="10dp"/> 

Pas coins rayon.

<corners 
android:bottomRightRadius="1dp" 
android:bottomLeftRadius="1dp" 
android:topLeftRadius="10dp" 
android:topRightRadius="10dp"/> 

Tous les coins-rayon == 10dp.

Est-il possible & comment spécifier les coins: 10dp (lefttop) 10dp (righttop) 0 0 (bas)?

Répondre

1
<corners android:radius="1dp" 
    android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" 
    android:topLeftRadius="5dp" android:topRightRadius="5dp"/> 

essayez le code ci-dessus il fixe le coin topleft et topright à 5 DP

2

Ceci est mon fichier XML drawable réelle (forme). Et oui, il est possible d'avoir différentes dimensions comme votre exigence. Voici le code XML:

<gradient 
    android:startColor="#696969" 
    android:endColor="#a2a2a2" 
    android:angle="90" > 
</gradient> 

<padding 
    android:left="5dp" 
    android:top="5dp" 
    android:right="5dp" 
    android:bottom="5dp" > 
</padding> 

<corners 
    android:radius="10dp" 
    android:bottomLeftRadius="0dp" 
    android:bottomRightRadius="0dp" > 
</corners> 

+0

Version d'android? –

+0

Eh bien, le code ci-dessus a fonctionné sur toutes les versions jusqu'à présent. Testé de 2.1 à 4.0.3. Mobiles et tablettes. –

+0

Ne fonctionne pas pour moi non plus, les rapports d'aperçu graphique: "Différentes tailles de coin ne sont pas pris en charge dans Path.addRoundRect." –

1

Vous pouvez faire comme ce

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item> 
     <shape android:shape="rectangle" > 
      <solid android:color="#000000" /> 

      <corners android:radius="8dp" /> 
     </shape> 
    </item> 
    <item android:top="8dp"> <!-- the distance to top --> 
     <shape android:shape="rectangle" > 
      <solid android:color="#000000" /> 
     </shape> 
    </item> 

</layer-list> 
4

Dans les développeurs Android http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape

Voici ce que dit NOTE: Chaque coin doit (initialement) être pr dépassé un rayon de coin supérieur à 1, sinon aucun coin n'est arrondi. Si vous voulez que certains coins ne soient pas arrondis, une solution consiste à utiliser android: radius pour définir un rayon de coin par défaut supérieur à 1, mais redéfinir chaque coin avec les valeurs que vous voulez vraiment, en fournissant zéro ("0dp") où vous ne voulez pas de coins arrondis.

Si vous exécutez votre code, il aura l'air bien, même avec l'avertissement de prévisualisation, je pense que c'est un bug ou quelque chose comme ça. C'est ce que j'ai écrit:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <solid android:color="@color/brown_light"/> 
     <corners 
      android:radius="5dp" 
      android:topLeftRadius="0dp" 
      android:topRightRadius="0dp" 
      android:bottomLeftRadius="30dp" 
      android:bottomRightRadius="30dp" 
      /> 

</shape> 
Questions connexes