如何在Android中仅为RelativeLayout提供底部边框

时间:2015-08-25 03:57:21

标签: android android-layout

我创建了一个相对布局,它只需要底部边框。我怎样才能做到这一点?下面是我使用过的RelativeLayout。

我在相对布局中添加了视图,但它显示在屏幕底部

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#EAEAEA"
android:orientation="vertical" >

<TextView
    android:id="@+id/auth_lbl_register_text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:background="#EAEAEA"
    android:clickable="true"
    android:ellipsize="none"
    android:fontFamily="FNB Sans"
    android:gravity="left"
    android:maxLines="50"
    android:paddingBottom="10dp"
    android:paddingRight="10dp"
    android:paddingTop="10dp"
    android:scrollHorizontally="false"
    android:text="@string/auth_into"
    android:textColor="@color/labelColor"
    android:textSize="20sp" />

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:background="@drawable/border"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/cellnum_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:fontFamily="FNB Sans"
        android:text="@string/cell_num_label"
        android:textColor="@color/labelColor"
        android:textSize="15sp" />

    <EditText
        android:id="@+id/auth_txt_msisdn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="25dp"
        android:layout_toRightOf="@+id/cellnum_text"
        android:ellipsize="start"
        android:ems="10"
        android:gravity="center_horizontal"
        android:hint="Enter cell number"
        android:inputType="number"
        android:singleLine="true"
        android:textSize="15sp" />
</RelativeLayout>

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingLeft="5sp"
    android:paddingRight="5sp" >

    <CheckBox
        android:id="@+id/auth_cbx_agree_terms"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="10dp"
        android:layout_marginTop="10dp"
        android:button="@drawable/check_box"
        android:clickable="true"
        android:ellipsize="none"
        android:fontFamily="FNB Sans"
        android:gravity="left"
        android:maxLines="50"
        android:paddingLeft="10dp"
        android:paddingStart="30dp"
        android:scrollHorizontally="false"
        android:text="@string/auth_agree_terms"
        android:textColor="@color/labelColor"
        android:textSize="20sp" />
</RelativeLayout>

<!-- next -->

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/auth_cmd_validate"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_weight="0.9"
        android:background="#F49B00"
        android:gravity="center"
        android:paddingLeft="0dp"
        android:text="Next"
        android:textColor="@color/labelColor"
        android:textSize="20dp"
        android:textStyle="normal" />

    <ImageView
        android:layout_width="40dp"
        android:layout_height="50dp"
        android:layout_alignParentRight="true"
        android:src="@drawable/next_arrow_white" />
</RelativeLayout>

<!-- end of next -->

<TextView
    android:id="@+id/or_text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dp"
    android:layout_marginTop="5dp"
    android:background="#EAEAEA"
    android:clickable="false"
    android:fontFamily="FNB Sans"
    android:gravity="center"
    android:padding="10sp"
    android:text="OR"
    android:textColor="@color/labelColor"
    android:textSize="20sp" />

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/auth_cmd_register"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_weight="0.9"
        android:background="@color/white"
        android:gravity="center"
        android:paddingLeft="0dp"
        android:text="Register Online"
        android:textColor="@color/labelColor"
        android:textSize="20dp"
        android:textStyle="normal" />

    <ImageView
        android:id="@+id/imgArrowRight"
        android:layout_width="40dp"
        android:layout_height="50dp"
        android:layout_alignParentRight="true"
        android:gravity="center"
        android:src="@drawable/line_arrow" />

    <View
        android:id="@+id/view"
        android:layout_width="fill_parent"
        android:layout_height="2dp"
        android:layout_alignParentBottom="true"
        android:background="@color/black" />
</RelativeLayout>

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/auth_cmd_terms"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_weight="0.9"
        android:background="#ffffff"
        android:gravity="center"
        android:paddingLeft="0dp"
        android:text="Terms and Condition"
        android:textColor="@color/labelColor"
        android:textSize="20dp"
        android:textStyle="normal" />

    <ImageView
        android:id="@+id/imgArrowRight1"
        android:layout_width="40dp"
        android:layout_height="50dp"
        android:layout_alignParentRight="true"
        android:gravity="center"
        android:src="@drawable/line_arrow" />
</RelativeLayout>

3 个答案:

答案 0 :(得分:3)

使用android:layout_height="N"时,您需要指定android:layout_alignParentBottom="true",其中N是您在dp中的高度:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<RelativeLayout
    android:id="@+id/relativeLayoutOne"
    android:layout_width="fill_parent"
    android:layout_height="200dp">
    <!-- Bottom Border shows -->
    <View android:layout_alignParentBottom="true"
        android:layout_height="1dp"
        android:background="#F00"
        android:layout_width="fill_parent"/>
</RelativeLayout>

<RelativeLayout
    android:id="@+id/relativeLayoutTwo"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <TextView
        android:text="Text View 1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</RelativeLayout>

<RelativeLayout
    android:id="@+id/relativeLayoutThree"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <TextView
        android:text="Text View 2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</RelativeLayout>
</LinearLayout>

答案 1 :(得分:1)

您可以向ImageView添加新的RelativeLayout,将高度设置为1 px,将其对齐到底部,然后可以考虑ImageView {39} ;作为边界。

请参阅以下xml:

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="55dp" >

    <TextView
        android:id="@+id/txtCategoryName"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_weight="0.9"
        android:background="#ffffff"
        android:gravity="center"
        android:paddingLeft="0dp"
        android:text="Register"
        android:textColor="@color/labelColor"
        android:textSize="20dp"
        android:textStyle="normal" />

    <ImageView
        android:id="@+id/imgArrow"
        android:layout_width="40dp"
        android:layout_height="50dp"
        android:layout_alignParentRight="true"
        android:gravity="center"
        android:src="@drawable/line_arrow" />

    <ImageView
        android:id="@+id/imgBorder"
        android:layout_width="fill_parent"
        android:layout_height="1px"
        android:layout_alignParentBottom="true" 
        android:background="#ff0000"/>
</RelativeLayout>

@ inner_class7是正确的,您需要提供一个值作为RelativeLayout的高度,或者它将显示在屏幕的底部。

答案 2 :(得分:1)

您可以使用ViewRelativeLayout提供底部边框。

RelativeLayout

中添加此内容
<View
     android:id="@+id/view"
     android:layout_width="fill_parent"
     android:layout_height="2dp"
     android:layout_alignParentBottom="true"
     android:background="@color/black" />

我希望它有所帮助!