2012-02-01 28 views
12

he encontrado que para añadir bordes alrededor de las vistas que se puede utilizar el siguiente código como un fondo para la vista:¿Cómo crear un borde en un borde de una vista?

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
<solid android:color="#FFFFFF" /> 
<stroke android:width="1dp" android:color="#999999" /> 
<padding android:left="1dp" android:top="1dp" android:right="1dp" 
    android:bottom="1dp" /> 
</shape> 

Pero lo que si quiero una frontera sólo por abajo o arriba o hacia la derecha o hacia la izquierda? He intentado lo siguiente:

<shape 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="line"> 
<stroke android:color="#000"/> 
</shape> 

pero cuando me puse como fondo

android:background="@drawable/my_border" 

se dibuja la línea en el medio de la vista, por lo que tiene un efecto de penetración. ¿Hay alguna manera de que pueda dibujar esta línea en la parte inferior o en la parte superior o hacerlo vertical?

En WPF tenemos coordenadas relativas para las formas, por lo que puedo desplazar las líneas según sea necesario. ¿Hay algo similar en Android? Si no tenemos fronteras, al menos deberíamos tener buenas herramientas de dibujo de líneas, de modo que podamos dibujar bordes según sea necesario. ¿Los desarrolladores de Android planean hacer algo al respecto?

Respuesta

1

Para la línea del borde en la parte superior o inferior de su vista, puede consultar mi respuesta anterior here. Es una forma muy simple.

0

son U buscando esto:

<item android:state_pressed="false"> 
    <inset 
      android:insetBottom="-3dp" 
      android:insetLeft="-3dp" 
      android:insetTop="-3dp" > 

       <shape > 
        <corners android:radius="0.0dip" /> 
        <stroke android:width="2.0dip" android:color="#EEE"/> 

       </shape> 
      </inset> 
      </item> 

se mostrará un borde sólo a la derecha. Y debe establecerlo como fondo

Cuestiones relacionadas