Dibujar borde superior en un layout en java

Para pintar el borde superior de un layout se puede seguir los pasos descritos en la web de stackoverflow, donde se explica como hacerlo desde un xml.

No pude utilizar este código ya que estaba en un caso particular, y tenía que hacerlo en java ya que la pantalla se tenía que dibujar desde una librería. Para poder añadir el borde tuve que realizar los siguientes pasos:

Primero creamos la layout y lo situamos en la parte inferior de la pantalla


RelativeLayout.LayoutParams relativeParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
relativeParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
relativeParams.setMargins(0, 2, 0, 0);

RelativeLayout layout = new RelativeLayout(context);
layout.setLayoutParams(relativeParams);
layout.setId(new Random().nextInt());
layout.setVisibility(View.GONE);
layout.setBackgroundColor(smsLayoutBackgroundColor);


Una vez hemos creado el layout, creamos dos objetos del tipo ShapeDrawable uno que se utilizará para usarlo de borde superior (border) y en segundo que cubrirá el resto de layout (background).


// Top border
ShapeDrawable border = new ShapeDrawable();
border.getPaint().setColor(Color.BLACK);
ShapeDrawable background = new ShapeDrawable();
background.getPaint().setColor(Color.WHITE);
Drawable[] layers = {border, background};
LayerDrawable layerDrawable = new LayerDrawable(layers);
layerDrawable.setLayerInset(0, 0, 0, 0, 0);
layerDrawable.setLayerInset(1, 0, 1, 0, 0);
layout.setBackground(layerDrawable);

Espero que os sea útil.

img_ccTodo el material publicado en este Blog, salvo las obras que no pertenecen a su autor, se difunden bajo licencia CC by-SA de Creative Commons, por lo que eres libre de copiar, distribuir y comunicar este contenido de forma publica, hacer un uso comercial del mismo, etc., siempre que lo hagas bajo las condiciones de la licencia indicada, y que reconozcas a su autor e indiques un enlace al contenido original o en su defecto a la pagina principal de este blog.

Anuncios
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: