tabla superiores redondear redondeados redondeado quitar las hacer esquinas curvos como bordes borde aplica 10px android xml-layout

android - superiores - ¿Por qué no puedo crear el borde redondo para una esquina específica?



redondeado de esquinas (4)

En mi diseño xml de Android, estoy aplicando el borde utilizando el marco de borde.xml como fondo.

El archivo borderframe.xml se ve a continuación:

<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="1dip" android:color="#ffffff"/> <solid android:color="#95865F"/> <corners android:radius="10px"/> <padding android:left="1dp" android:right="1dp" android:top="1dp" android:bottom="1dp"/> </shape>

Ahora, si bien hay un android: radius = "10px", entonces funciona, pero si bien voy a dar forma redonda a una esquina específica, entonces no funciona. No hay ningún mensaje de error en el registro del gato, pero encontré un error en el eclipse como:

The graphics preview in the layout editor may not be accurate: * Different corner sizes are not supported in Path.addRoundRect.

Incluso si no hay relleno en ese archivo xml, tampoco puedo ver ningún borde.

Ahora, ¿qué debo hacer para ello? y cuál es la solución de esto si quiero crear el borde redondeado solo para topLeftcorner y bottomLeftCorner. ? Gracias.


Estoy usando SDK tools 19, platform-tools 11 y ejecuto la aplicación en Android 4.0.3. Usando el siguiente XML funciona para mí:

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#dd000000"/> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp" /> <corners android:bottomLeftRadius="25dp" android:bottomRightRadius="25dp" android:topLeftRadius="0dp" android:topRightRadius="0dp" /> </shape>

La advertencia de Eclipse trata de no poder mostrar la vista previa. En su aplicación se muestra correcta.


También me enfrento al mismo problema. Pero para eso uso la lista de capas. Publico mi respuesta aquí que puede serle de ayuda.
Por favor, compruebe la pantalla de salida

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle"> <stroke android:width="1dp" android:color="#c1c1c1" /> <solid android:color="#c1c1c1" /> <corners android:radius="20dp"/> </shape> </item> <item android:right="20dp" > <shape android:shape="rectangle"> <stroke android:width="1dp" android:color="#c1c1c1" /> <solid android:color="#c1c1c1" /> </shape> </item> </layer-list>


Tendrá que hacerlo, suponiendo que solo desea una esquina superior izquierda redondeada:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="20sp" android:topRightRadius="0dp" android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" /> <gradient android:startColor="@color/logo_blue" android:endColor="@color/blue" android:angle="0"/> </shape>

Explicación : A cada esquina se le debe (inicialmente) un radio de esquina mayor que 1, o de lo contrario ninguna esquina se redondeará. Si desea que las esquinas específicas no sean redondeadas, una solución alternativa es usar android:radius para establecer un radio de esquina predeterminado mayor que 1, pero luego invalide cada esquina con los valores que realmente desea, proporcionando cero ("0dp") ) donde no quieres esquinas redondeadas. [ source ]

Como consecuencia, necesita definir su dibujable como:

<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="1dip" android:color="#ffffff"/> <solid android:color="#95865F"/> <corners android:radius="10px" android:topRightRadius="0dp" android:bottomRightRadius="0dp" /> <padding android:left="1dp" android:right="1dp" android:top="1dp" android:bottom="1dp"/> </shape>

Actualizar

De la documentación de Android de Shape Drawable Resource :

Android: dimensión del radio. El radio para todas las esquinas, como valor de dimensión o recurso de dimensión. Esto se reemplaza para cada esquina por los siguientes atributos.

anulada es la palabra clave para su problema ...


Tengo la solución en uno de los foros. Lo resolví comentando cada esquina y agregando al xml en drawable. He retenido el código comentado abajo solo para entenderlo.

Código XML-

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <solid android:color="#fd2149" /> <stroke android:width="1dip" android:color="#ffd102"/> <!-- <corners android:bottomLeftRadius="8dp" android:bottomRightRadius="8dp" android:topLeftRadius="8dp" android:topRightRadius="8dp" /> --> <corners android:radius="8dp" /> </shape>

--- Editado: el código anterior es mi back.xml en la carpeta que se puede dibujar y, si es necesario, puede agregar un relleno al mismo back.xml. Para aquellos que son nuevos desarrolladores, se hace referencia a back.xml desde su archivo de diseño de la siguiente manera

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tableLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:textSize="20sp" android:scrollbars="vertical" android:background="@drawable/back">

Espero que esto ayude.