如何在活动中的编辑文本之间放置水平分隔线

时间:2010-11-10 15:43:23

标签: android user-interface

我正在开展一项活动来配置我的应用,我必须将配置窗口的各个部分用一行划分。我使用了这个:divider_horizontal_bright,来自这个例子:

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

然而它不起作用!当我在我的Android手机上测试时,它没有显示水平线。为什么呢?

我使用的是Android 2.1

5 个答案:

答案 0 :(得分:141)

试试此链接.... horizontal rule

这应该可以解决问题。

以下代码为xml。

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

答案 1 :(得分: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" />

答案 2 :(得分:7)

只需一行,您需要

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

答案 3 :(得分:4)

如何定义自己的视图?我使用了下面的类,在设置了背景颜色的视图周围使用LinearLayout。这允许我为它预先定义布局参数。如果您不需要,只需扩展视图并设置背景颜色。

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中使用它(自定义和库视图 - 只需将其拉入布局)。

答案 4 :(得分:1)

使用这.....你会喜欢它

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