Cómo poner una línea divisoria horizontal entre editar texto en una actividad

81

Estoy realizando una actividad para configurar mi aplicación y tengo que dividir las secciones de mi ventana de configuración con una línea. Usé esto:divider_horizontal_bright de este ejemplo:

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

Excepción de puntero nulo
fuente

Respuestas:

144

Prueba este enlace ... regla horizontal

Eso debería hacer el truco.

El siguiente código es xml.

<View
    android:layout_width="fill_parent"
    android:layout_height="2dip"
    android:background="#FF00FF00" />
prolink007
fuente
agregue esta línea-> android: layout_above = "@ + id / imageView2" para algunos relativos a mostrar / ver la línea. Está funcionando
gnganapath
¡Sólo brillante! Probé varios métodos. ¡Esto funciona mejor!
geeky_monster
137

Si esto no funcionó:

  <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" />

Prueba esta vista sin formato:

<View
    android:layout_width="fill_parent"
    android:layout_height="1dip"
    android:background="#000000" />
Cristian
fuente
9
+1 para proporcionar el ejemplo completo de View, no solo los atributos, y para el ejemplo de ImageView usando el propio divisor dibujable de Android. El ImageView parece preferible ya que usa el estilo proporcionado por el sistema / tema.
spaaarky21
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
¡Gran respuesta! Solo una nota: probablemente sea necesario agregar uno android:scaleType="fitXY"para que la solución ImageView funcione (¿tal vez esto solo sea necesario con las nuevas versiones de Android?)
Alberto M
1
Debe reemplazar paddingcon margin, de lo contrario, ninguno de estos funcionará.
Ab
7

Para una sola línea, necesitas

...
<View android:id="@+id/primerdivisor"
android:layout_height="2dp"
android:layout_width="fill_parent"
android:background="#ffffff" /> 
...
HENRY JIMENEZ ROSERO
fuente
4

¿Qué tal definir su propia vista? He usado la clase a continuación, usando un LinearLayout alrededor de una vista cuyo color de fondo está establecido. Esto me permite predefinir los parámetros de diseño para ello. Si no lo necesita, extienda Ver y configure el color de fondo.

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);
    }

}

Úselo programáticamente o en Eclipse (Vistas personalizadas y de biblioteca: simplemente introdúzcalo en su diseño).

ChrisB
fuente
1

Usa esto ... te encantará

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