Je créais une forme à utiliser comme arrière-plan d'un bouton. Je fais une bande de boutons, et celui sur le bord gauche va avoir des coins arrondis sur la gauche, et le dernier sur la droite aura des coins arrondis sur la droite. C'est assez simple, et les docs d'api vous montrent juste comment le faire. Cependant, quand j'ai utilisé android:topLeftRadius
et android:bottomLeftRadius
, le résultat dans l'interface utilisateur était comme si je mettais bottomRightRadius. Le même comportement était vrai de l'autre côté. Il semble que quiconque a implémenté cela a échangé bottomRight et bottomLeft. Je vais poster un extrait du code ci-dessous.Bogue comique dans la déclaration de forme xml Android
Y a-t-il une raison logique à cela que je pourrais manquer? Ou, s'il s'agissait d'une erreur de la part des ingénieurs Android, restera-t-il rétrocompatible une fois le problème résolu? J'imagine qu'ils devraient faire tous les nouveaux attributs pour garder les anciens valides (leftTop au lieu de topLeft peut-être?).
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid android:color="#99000000" />
<padding
android:top="8dp"
android:left="8dp"
android:right="8dp"
android:bottom="8dp" />
<corners
android:topLeftRadius="8dp"
android:bottomRightRadius="8dp" />
</shape>
</item>
duplicata possible de [Comment faire une forme avec le coin rond arrondi en haut à gauche et le coin arrondi en bas à gauche?] (http://stackoverflow.com/questions/3056232/how-to-make -a-forme-avec-gauche-haut-rond-arrondi-coin-et-gauche-bas-arrondi-co) – jamessan