lunes, 19 de septiembre de 2011

Esquinas redondeadas en Android

Hola!!!

Hoy voy a contar cómo pintar rectángulos, para vuestras aplicaciones, con las esquinas redondeadas.


Para pintar cuadros redondeados tendremos que usar el valor drawable SHAPE. Con shape podemos llegar a dibujar formas como rectángulos, circulos, anillos o simples líneas. En este link podéis ver todas las características de SHAPE http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape

Para pintar un rectángulo con las esquinas redondeadas, primero tenemos que crear un xml en la carpeta res/drawable de nuestro proyecto (es muy importante que esté situado en esta carpeta, ya que, sino nos dará error). Una vez tengamos ese xml pondremos este código dentro de este fichero:


Cómo vemos en el código hay etiqueta llamada "corners". Esta etiqueta indica cuanto queremos que este redondeadas las esquinas de nuestro rectángulo, cuanto más grande sea el valor, más redondeadas estarán.
Esta no es la única opción de SHAPE, si mirais en el link anterior, podéis elegir el color que rellenará el rectángulo, cambiarle el "padding", si quereis que el rectángulo esté rodeado por una línea, etc. Con las opciones que nos da SHAPE podemos realizar mil rectángulos distintos.

Una vez que tengáis el rectangulo hecho, lo podemos usar, por ejemplo, para cambiar la forma de un botón o para rodear un texto de nuestra interfáz, simplemente poniendo el valor android:background="@drawable/mi_rectangulo"


Espero que os haya servido de ayuda!!!!

Nos vemos!!!!!

11 comentarios:

  1. ¿Que clase de "ayuda" de codficación es esta que pones imagenes en lugar de texto para copiar y pegar?

    Muy muy mal

    ResponderEliminar
    Respuestas
    1. Huevon marica, todo el banano pelado queres :@

      Eliminar
  2. Discrepo Redder.. la información es buena, lo unico que tienes que hacer es olvidarte el copiar y pegar y teclear más!!!!

    ResponderEliminar
  3. Discrepo, perdida de tiempo teclear cuando es algo tan claro como COPIA y PEGA...esto es lo que hace que uno se vaya a otra página.
    saludos

    ResponderEliminar
  4. Pues yo creo que para aprender hay que teclear, con copia y pega no aprendes nada

    ResponderEliminar
  5. Estoy de acuerdo con los dos puntos de vista.

    Creo que es mejor poner el código para las personas que sólo quieran copiar y pegar. Pero está claro que si haces eso, no vas a acabar aprendiendo nada de Android que es la intención de este blog.

    De todas formas, si no os gusta el formato, pues nada a seguir buscando en Google copiando y pegando que parece que es lo único que sabéis hacer.

    ResponderEliminar
  6. Una duda, cuando dices que "crear un xml en la carpeta res/drawable" en necesario que esté en las tres , quiero decir en drawable-hdpi, -ldpi y -mdpi.

    Gracias, por la ayuda y la información.

    ResponderEliminar
    Respuestas
    1. Hola.

      Cuándo hice este post en el mundo Android sólo existía una carpeta "res/drawable" pero con el tiempo ha cambiado para que haya una carpeta por resolución.

      No estoy totalmente seguro pero creo que con que se encuentre en una de las carpetas "drawable" debería funcionar sin problemas.
      Si yo estuviera en tu caso, copiaría el xml en todas las carpetas "drawable". Así te aseguras de que no vaya a fallar y si en un futuro tienes intención de adaptar tu interfaz a las distintas resoluciones ya tendrás un xml en cada carpeta.

      Espero haberte ayudado, Un saludo

      Eliminar
    2. Solo es necesario en la carpeta "drawable/hdpi" ya que levanta "@drawable/tu_objeto". Esas carpetas son para las diferentes resoluciones, pero si esta en buen tamaño el objeto o simplemente es un XML, ya basta.

      Eliminar
  7. O simplemente crea la carpeta drawable si no existe total lo que importa es la referencia que hagas a ella

    ResponderEliminar
  8. Magnifico aporte, muchas gracias, me ha serivdo mucho.

    ResponderEliminar