2010-02-22 10 views
8

Tengo problemas para crear un rectángulo redondeado simple utilizando XML. Cada vez que intento añadir el elemento "esquinas" a la forma personalizada me sale:Android: no se puede crear una forma de rectángulo simple ... UnsupportedOperationException?

java.lang.UnsupportedOperationException en android.graphics.Path.addRoundRect (Path.java:514) en androide .graphics.drawable.GradientDrawable.draw (GradientDrawable.java:314) en android.view.View.draw (View.java:6520) ...

res/dawable/rounded_rectangle.xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
     <solid android:color="#ffffff"/>  

     <stroke android:width="3dp" 
       android:color="#ff000000"/> 

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

     <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" 
     android:topLeftRadius="7dp" android:topRightRadius="7dp"/> 
    </shape> 

sencilla layout.xml usando la forma arriba:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent"> 

<View android:id="@+id/View01" 
    android:background="@drawable/rounded_rectangle" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
</View> 
</RelativeLayout> 

FYI, estoy tratando de compilar para Android 2.1 y tengo todas las últimas actualizaciones instaladas a Eclipse y el SDK de Android. Esta forma es una copia directa de algo que vi en otro sitio web, pero por alguna razón no quiere funcionar para mí.

Gracias.

+0

Vea el elemento Shape y sus atributos aquí: http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape – vanna

Respuesta

34

Así que estaba jugando con esto un poco y cambié un par de líneas en el archivo rounded_rectangle.xml para que funcione. Vea debajo:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
    <solid android:color="#ffffff"/>  

    <stroke android:width="3dp" 
      android:color="#ff000000"/> 

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

    <corners android:radius="30dp"/> 
</shape> 

Ojalá Google publicara un documento de referencia adecuado para crear formas basadas en XML. Después de horas (4+) de buscar ejemplos en la Web, siento que todavía es un juego de adivinanzas sobre qué elementos/atributos se admiten en este tipo de documentos XML. Perdón por el mini-rant.

Espero que esto ayude a alguien más.

+2

Pequeño nitpick, pero usar píxeles (px) es generalmente una mala idea . Probablemente debería ser DougW

+2

La razón por la que funcionó es porque colapsó los 4 valores de radio individuales en 1. Consulte este error http://code.google.com/p/android/issues/ detalle? id = 7588 –

Cuestiones relacionadas