2015-08-25 83 views
3

我已經創建了一個只需要底部邊框的相對佈局。我怎樣才能做到這一點?下面是我用過的RelativeLayout。如何在Android中僅給出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> 

+0

這是在屏幕的底部顯示,因爲layout_alignParentBottom和事實的RelativeLayout沒有指定高度 –

+1

請參閱我的答案在下面,你必須爲你在相對佈局上尋找的行爲指定一個高度,使用wrap_content設置layout_alignParentBottom將視圖覆蓋到屏幕的底部,而不是這樣做 –

回答

2

您使用android:layout_alignParentBottom="true"時需要指定android:layout_height="N"其中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

您可以添加新的ImageViewRelativeLayout,將高度設置爲1個像素,將其調整到底部,那麼這個ImageView可以被認爲是邊界。

認罪看到下面的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的高度,或者,它會顯示在屏幕的底部。

1

您可以使用View爲您的RelativeLayout指定底部邊框。

將此項添加到您的RelativeLayout

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

我希望它有幫助!

+0

這會將底部邊框顯示爲整個屏幕而不是特定的相對佈局。我有線性佈局,我有兩個或三個相對佈局,所以可能是完成後請指導我。 – allDroid

+0

然後添加視圖到內部相對佈局,在其中您想要下邊框或顯示您的整個xml文件 – Rajesh

+1

您評論說:「我有線性佈局,其中我有兩個或三個相對佈局」,所以請顯示整個xml文件,而不是顯示相關佈局 – Rajesh