web-dev-qa-db-fra.com

Comment mettre une ligne de séparation horizontale entre le texte modifié dans une activité

Je fais une activité pour configurer mon application et je dois diviser les sections de ma fenêtre de configuration par une ligne. J'ai utilisé ceci: divider_horizontal_bright, de cet exemple:

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

Cependant ça ne marche pas! Lorsque je teste sur mon téléphone Android), il ne montre aucune ligne horizontale. Pourquoi?

J'utilise Android 2.1

81

Essayez ce lien .... règle horizontale

Cela devrait faire l'affaire.

Le code ci-dessous est xml.

<View
    Android:layout_width="fill_parent"
    Android:layout_height="2dip"
    Android:background="#FF00FF00" />
143
prolink007

Si cela n'a pas fonctionné:

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

Essayez cette vue brute:

<View
    Android:layout_width="fill_parent"
    Android:layout_height="1dip"
    Android:background="#000000" />
137
Cristian

Pour une seule ligne, il vous faut

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

Que diriez-vous de définir votre propre point de vue? J'ai utilisé la classe ci-dessous, à l'aide de LinearLayout autour d'une vue dont la couleur d'arrière-plan est définie. Cela me permet de prédéfinir les paramètres de mise en page pour cela. Si vous n'avez pas besoin de cela, développez simplement View et définissez la couleur d'arrière-plan.

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

}

Utilisez-le par programme ou dans Eclipse (vues personnalisées et de la bibliothèque - tirez-le simplement dans votre mise en page).

4
ChrisB

Utilisez ceci ..... vous allez l'adorer

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