2010-11-10 15 views
65

Estoy haciendo una actividad para configurar mi aplicación, y tengo que dividir las secciones de mi ventana de configuración con una línea. He utilizado este: divider_horizontal_bright, a partir de este ejemplo:Cómo poner una línea divisoria horizontal entre editar texto en una actividad

http://android.cryx.li/doku.php?id=know:settings:start

Sin embargo, no funciona! Cuando pruebo en mi teléfono Android, no muestra una línea horizontal. ¿Por qué?

estoy usando Android 2.1

Respuesta

119

tratar este enlace .... horizontal rule

Que debe hacer el truco.

El código siguiente es xml.

<View 
    android:layout_width="fill_parent" 
    android:layout_height="2dip" 
    android:background="#FF00FF00" /> 
+0

agregar esta línea-> android: layout_above = "@ +/Identificación del imageView2 "para un pariente para mostrar/ver la línea. Está funcionando – gnganpath

+0

¡Simplemente brillante! Intenté varios métodos. ¡Esto funciona mejor! –

136

Si esto no funciona:

<ImageView 
    android:layout_gravity="center_horizontal" 
    android:paddingTop="10px" 
    android:paddingBottom="5px" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:src="@android:drawable/divider_horizontal_bright" /> 

Pruebe esta cruda Vista:

<View 
    android:layout_width="fill_parent" 
    android:layout_height="1dip" 
    android:background="#000000" /> 
+9

+1 para proporcionar el ejemplo completo de Vista, no solo los atributos, y para el ejemplo de ImageView utilizando el propio divisor de Android dibujable. ImageView parece preferible ya que usa el estilo proporcionado por el sistema/tema. – spaaarky21

+0

Gran solución para proporcionar ambos. La versión de la imagen no mostraba la 'barra', así que fui a la versión Ver. – TheIcemanCometh

+2

¡Excelente respuesta! Solo una nota: probablemente uno necesite agregar 'android: scaleType =" fitXY "' para hacer que la solución ImageView funcione (¿quizás esto solo sea necesario con las nuevas versiones de Android?) –

4

¿Qué hay de la definición de su propio punto de vista? He usado la clase a continuación, usando LinearLayout alrededor de una vista cuyo color de fondo está establecido. Esto me permite predefinir los parámetros de diseño para él. Si no necesita eso solo extienda View y configure el color de fondo en su lugar.

public class HorizontalRulerView extends LinearLayout { 

    static final int COLOR = Color.DKGRAY; 
    static final int HEIGHT = 2; 
    static final int VERTICAL_MARGIN = 10; 
    static final int HORIZONTAL_MARGIN = 5; 
    static final int TOP_MARGIN = VERTICAL_MARGIN; 
    static final int BOTTOM_MARGIN = VERTICAL_MARGIN; 
    static final int LEFT_MARGIN = HORIZONTAL_MARGIN; 
    static final int RIGHT_MARGIN = HORIZONTAL_MARGIN; 

    public HorizontalRulerView(Context context) { 
     this(context, null); 
    } 

    public HorizontalRulerView(Context context, AttributeSet attrs) { 
     this(context, attrs, android.R.attr.textViewStyle); 
    } 

    public HorizontalRulerView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
     setOrientation(VERTICAL); 
     View v = new View(context); 
     v.setBackgroundColor(COLOR); 
     LayoutParams lp = new LayoutParams(
      LayoutParams.MATCH_PARENT, 
      HEIGHT 
     ); 
     lp.topMargin = TOP_MARGIN; 
     lp.bottomMargin = BOTTOM_MARGIN; 
     lp.leftMargin = LEFT_MARGIN; 
     lp.rightMargin = RIGHT_MARGIN; 
     addView(v, lp); 
    } 

} 

Se usa mediante programación o en Eclipse (Custom & Biblioteca Vistas - simplemente tire de ella en su diseño).

6

Para una sola línea, es necesario

... 
<View android:id="@+id/primerdivisor" 
android:layout_height="2dp" 
android:layout_width="fill_parent" 
android:background="#ffffff" /> 
... 
0

Usar este ..... Te encantará

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="1px" 
    android:text=" " 
    android:background="#anycolor" 
    android:id="@+id/textView"/> 
Cuestiones relacionadas