¿Cómo dibujar el borde en un solo lado de un diseño lineal?

Puedo dibujar un borde en un diseño lineal, pero se dibuja en todos los lados. Quiero restringirlo al lado derecho solamente, como lo haces en CSS (borde-derecha: 1px rojo sólido;).

He intentado esto, pero todavía se basa en todos los lados:

          

¿Alguna sugerencia sobre cómo lograr esto?

Por cierto, no quiero usar el truco de poner una vista de ancho 1dp en el lado requerido.

Puedes usar esto para obtener el borde en un lado

              

EDITADO

Como muchos, incluyéndome, quería tener un borde lateral con fondo transparente, he implementado un BorderDrawable que podría darme bordes con diferente tamaño y color de la misma manera que usamos css. Pero esto no se pudo usar a través de xml. Para admitir XML, he agregado un BorderFrameLayout en el que se puede BorderFrameLayout su diseño.

Ver mi github para la fuente completa.

Fácil como un pastel, lo que permite un bg transparente:

     

Cambia el ángulo para cambiar la ubicación del borde:

  • 0 = izquierda
  • 90 = abajo
  • 180 = derecha
  • 270 = arriba

también es posible implementar lo que quieras usando una sola capa

          

De esta forma, solo se ve el borde izquierdo, pero puede lograr cualquier combinación que desee jugando con top atributos bottom , left , right y top del item elemento.

Para obtener un borde en un solo lado de un dibujo, aplique un inset negativo a los otros 3 lados (haciendo que los bordes se dibujen fuera de la pantalla).

        

enter image description here

Este enfoque es similar a la respuesta de naykah, pero sin el uso de una layer-list .

Como alternativa (si no desea utilizar el fondo), puede hacerlo fácilmente haciendo una vista de la siguiente manera:

  

Para tener solo un borde derecho, colóquelo después del diseño (donde desea tener el borde):

  

Para tener solo un borde izquierdo, coloque esto antes del diseño (donde desea tener el borde):

Trabajó para mí … Espero que sea de alguna ayuda …

                    

No hay mención sobre archivos de nueve parches aquí. Sí, tienes que crear el archivo, sin embargo es un trabajo bastante fácil y en realidad es una solución de ” compatibilidad entre versiones y transparencia “. Si el archivo se coloca en el directorio drawable-nodpi , funciona en base a px , y en drawable-mdpi funciona aproximadamente como base dp (gracias a remuestrear).

El archivo de ejemplo para la pregunta original ( border-right: 1px solid red; ) está aquí:

http://ge.tt/517ZIFC2/v/3?c

Solo colóquelo en el directorio drawable-nodpi .

Pude lograr el efecto con el siguiente código

         

Puede ajustarse a sus necesidades para la posición de borde cambiando la dirección del desplazamiento

Bordes de diferentes colores. Usé 3 artículos.