android - redondear - ¿Cómo configuro el radio de la esquina redondeada de un color dibujable usando xml?
bordes redondeados android (2)
En el sitio web de Android, hay una sección sobre los colores dibujables . La definición de estos dibujables en xml tiene este aspecto:
<resources>
<drawable name="solid_red">#f00</drawable>
<drawable name="solid_blue">#0000ff</drawable>
<drawable name="solid_green">#f0f0</drawable>
</resources>
En la API java, tienen el siguiente método para definir las esquinas redondeadas:
setCornerRadius(float radius)
¿Hay alguna manera de establecer las esquinas redondeadas en el xml?
La respuesta de mbaird funciona bien. Tenga en cuenta que parece haber un error en Android (2.1 al menos), que si establece el radio de cualquier esquina individual en 0, fuerza todas las esquinas a 0 (al menos ese es el caso con las unidades "dp"; no lo intentes con ninguna otra unidad).
Necesitaba una forma donde las esquinas superiores fueran redondeadas y las esquinas inferiores fueran cuadradas. Logré esto estableciendo las esquinas que quería que fueran cuadradas a un valor ligeramente mayor que 0: 0.1dp. Esto sigue representando esquinas cuadradas, pero no obliga a las otras esquinas a tener 0 radios.
Use la etiqueta <shape>
para crear un dibujable en XML con esquinas redondeadas. (Puedes hacer otras cosas con la etiqueta de forma, como definir un degradado de color también).
Aquí hay una copia de un archivo XML que estoy usando en una de mis aplicaciones para crear un dibujable con un fondo blanco, borde negro y esquinas redondeadas:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffffffff"/>
<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>