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

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" />
пролинк007
источник
добавьте эту строку-> 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, иначе ничего из этого не сработает.
Али Бдейр
7

Только для одной строки вам нужно

...
<View android:id="@+id/primerdivisor"
android:layout_height="2dp"
android:layout_width="fill_parent"
android:background="#ffffff" /> 
...
ГЕНРИ ХИМЕНЕС РОЗЕРО
источник
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 - просто вставьте его в свой макет).

ChrisB
источник
1

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

 <TextView
    android:layout_width="fill_parent"
    android:layout_height="1px"
    android:text=" "
    android:background="#anycolor"
    android:id="@+id/textView"/>
Никос Стасинос
источник