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.

  • Forma personalizada mientras conversas en android usando un archivo xml
  • Android 4 ICS Ice Cream Sandwich - iframe que contiene un formulario
  • forma androide con un fondo repetido
  • Android hacer la forma de diseño personalizado
  • ¿Cómo inserto texto dentro de un rectángulo redondeado en la vista de Android?
  • Escala de círculo según el tamaño de la pantalla
  • ¿Cómo enviar datos multipart / form a un servidor web desde android?
  • ¿Puedo medir distancias con sonido en una aplicación para Android?
  • RecyclerView con elementos personalizados
  • Crear lista de capas con esquinas redondeadas mediante programación
  • Android define la forma XML como dibujable mediante programación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.