Creación de una forma de rectángulo con sólo dos bordes redondeados

Puedo crear una forma que sea un rectángulo con todos los bordes redondeados. Sin embargo, lo que estoy deseando es una forma de rectángulo con sólo 2 de los bordes redondeados. es posible?

Estoy esencialmente hackear juntos un ListView que se parece a una burbuja con bordes redondeados. Estoy mirando para agregar una cabecera que tenga los dos bordes superiores redondeados y un pie de página con los dos bordes inferiores redondeados.

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="10dp"> <solid android:color="#FFFFFF"/> <corners android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" android:topLeftRadius="15dp" android:topRightRadius="15dp"/> </shape> 

Este código está funcionando (¿ya?) Android versión 2.2. Refiriéndose a la documentación , el código debería tener el siguiente aspecto:

 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="10dp"> <solid android:color="#FFFFFF"/> <corners android:radius="2dp" android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" android:topLeftRadius="15dp" android:topRightRadius="15dp"/> </shape> 

Puede que esto le resulte útil.

 <?xml version="1.0" encoding="utf-8"?> <!-- res/drawable/rounded_edittext.xml --> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="10dp"> <solid android:color="#FFFFFF"/> <corners android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" android:topLeftRadius="15dp" android:topRightRadius="15dp"/> </shape> 

Cambié el atributo android:radius a android:topRightRadius y android:topLeftRadius

Creo que lo mejor (para mi comprensión de su pregunta) es crear una imagen 9patch y utilizarla como fondo – se puede definir para estirar como se necesita y establecer en el nivel XML ahorro de trabajo de código

 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="10dp"> <solid android:color="#FFFFFF"/> <corners android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" android:topLeftRadius="15dp" android:topRightRadius="15dp"/> </shape> 

Utilice el código anterior

Intento dibujar un rectángulo redondeado, y luego dos rectángulos adicionales del mismo tamaño que el radio de la esquina del rectángulo redondeado, y colocarlos en las esquinas que no quieren ser redondeados.

Así por ejemplo, un rectángulo redondeado con un radio de 15px, y dos rectángulos regulares 15x15px, colocado en las esquinas del rectángulo redondeado que no debe ser redondeado.

EDIT: Al volver a leer su pregunta, es mejor que realice una imagen sencilla de 9 parches para la parte superior e inferior de su lista. Se extendían a cualquier tamaño de esa manera sin pixelización. Eso requeriría crear las imágenes de antemano, sin embargo, y hacer cosas con las formas de rectángulo sería más fácil de modificar en el código más tarde. Sin embargo, la forma de 9 parches sería menos de un hack.

Dibuje un rectángulo redondeado y luego dibuje un rectángulo normal sobre el redondeado con el mismo color.

  • Cómo obtener la forma redonda en Android
  • Android Shape - Gradiente debe ir al lado derecho
  • ¿Puedo medir distancias con sonido en una aplicación para Android?
  • Crear triángulo con cornors redondeados
  • ¿Cómo agrego el relleno a un mapa de bits y un color en una lista de capas
  • Android: forma "esquinas" problema. ¿Es esto un error?
  • Texto con formas en recurso dibujable
  • Dibujar la forma de Android xml diagonal con triángulos
  • SVG a Android forma
  • Cambiar el color sólido de la forma en el tiempo de ejecución dentro del xml Drawable usado como fondo
  • Forma rectangular con dos colores sólidos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.