2010-12-13 14 views
28

¿Cómo agrego una línea blanca horizontal de 1px encima de la vista de imagen en una disposición relativa?¿Cómo agregar una línea horizontal de 1px encima de la vista de imagen en una disposición relativa?

<RelativeLayout 
android:id="@+id/widget38" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_x="108px" 
android:layout_y="87px" 
> 
<ImageView 
android:id="@+id/widget39" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_alignParentTop="true" 
android:layout_alignParentRight="true" 
> 
</ImageView> 
</RelativeLayout> 

Respuesta

88

Simplemente agregue la siguiente línea en su XML donde quiera que lo desee.

<View android:background="#ffffff" 
     android:layout_width = "match_parent" 
     android:layout_height="1dp"/> 

Editar: Prueba esto:

<RelativeLayout 
android:id="@+id/widget38" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_x="108px" 
android:layout_y="87px" 
> 
<View android:id="@+id/separator" 
android:background="#ffffff" 
android:layout_width = "fill_parent" 
android:layout_height="1dip" 
android:layout_centerVertical ="true" 
android:layout_alignParentTop="true"/> 
<ImageView 
android:id="@+id/widget39" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_below="@id/separator" 
android:layout_alignParentRight="true" 
/> 
</RelativeLayout> 
+0

He añadido esto y funciona muy bien, gracias! Excepto android: layout_above = "@ id/your_image_view_id" no funciona, constantemente me da un error. Así que tuve que eliminar este atributo, pero la línea está colgando en algún lugar en el medio del diseño relativo. – dropsOfJupiter

+0

editado mi respuesta – blindstuff

+0

gracias :) trabajos – dropsOfJupiter

9

considerar mover el trazado de la línea en un archivo separado:

<!-- horizontal_line.xml --> 
<?xml version="1.0" encoding="utf-8"?> 
<View 
    style="@style/HorizontalLine" /> 

... referencia a una definición de estilo personalizado:

<!-- styles.xml --> 
<style name="HorizontalLine"> 
    <item name="android:layout_width">fill_parent</item> 
    <item name="android:layout_height">@dimen/horizontal_line_height</item> 
    <item name="android:background">@color/horizontal_line_fill_color</item> 
    <item name="android:layout_marginTop">@dimen/large_spacer</item> 
    <item name="android:layout_marginBottom">@dimen/large_spacer</item> 
</style> 

... y luego puede include en su diseño:

<RelativeLayout 
    android:id="@+id/widget38" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_x="108px" 
    android:layout_y="87px" > 

    <include 
     android:id="@+id/horizontal_line" 
     layout="@layout/horizontal_line" /> 

    <ImageView 
     android:id="@+id/widget39" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/horizontal_line" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentRight="true" /> 

</RelativeLayout> 
+6

Me gusta este enfoque, ya que reduce la duplicación y limpia los archivos de diseño (+1). Sin embargo, omitiría el '', y simplemente usar '' directamente en los XML de diseño. Más simple y funciona igual. – Jonik

Cuestiones relacionadas