Как поставить горизонтальную разделительную линию между текстом редактирования в действии


81

Я выполняю действия по настройке своего приложения, и мне нужно разделить разделы окна конфигурации линией. Я использовал это:, divider_horizontal_brightиз этого примера:

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

Однако это не работает! Когда я тестирую свой телефон Android, он не показывает горизонтальную линию. Почему?

Я использую Android 2.1

Ответы:


144

Попробуйте по этой ссылке .... горизонтальное правило

Это должно делать свое дело.

Код ниже - xml.

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

добавьте эту строку-> android: layout_above = "@ + id / imageView2" для некоторой относительной строки отображения / просмотра. Это работает
gnganapath

Просто молодец! Пробовал разные методы. Это работает лучше всего!
geeky_monster 06

137

Если это не сработало:

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

Попробуйте этот необработанный вид:

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

9
+1 для предоставления полного примера View, а не только атрибутов, а также для примера ImageView, использующего собственный разделитель Android с возможностью рисования. ImageView кажется предпочтительным, поскольку он использует стиль, предоставленный системой / темой.
spaaarky21 04

Отличное решение для обеспечения того и другого. В версии изображения не отображалась «полоса», поэтому я выбрал версию для просмотра.
TheIcemanCometh

2
Отличный ответ! Просто примечание: вероятно, нужно добавить, android:scaleType="fitXY"чтобы решение ImageView работало (может быть, это нужно только с новыми версиями Android?)
Альберто М.

1
Вам следует заменить paddingна margin, иначе ничего из этого не сработает.
Али Бдейр


4

Как насчет определения собственного взгляда? Я использовал приведенный ниже класс, используя LinearLayout вокруг представления, цвет фона которого установлен. Это позволяет мне предварительно определить для него параметры макета. Если вам это не нужно, просто расширьте View и вместо этого установите цвет фона.

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

}

Используйте его программно или в Eclipse (Custom & Library Views - просто вставьте его в свой макет).


1

Используйте это ..... вам понравится

 <TextView
    android:layout_width="fill_parent"
    android:layout_height="1px"
    android:text=" "
    android:background="#anycolor"
    android:id="@+id/textView"/>
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.