Android "Add a vertical line" on "RelativeLayout" / "Linear Layout"
20,441
You should complete the LinearLayout after you use View.
I used the following code in my XML file, and it worked.
It should work for you as well.
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="1dp"
android:paddingLeft="5dip"
android:paddingRight="5dip">
<View
android:id="@+id/view"
android:layout_toRightOf="@+id/text1"
android:layout_width="1dip"
android:layout_height="fill_parent"
android:background="#FF0000FF"/>
</LinearLayout>
Author by
Chong Yue
I am a graduate student in Computer Science at Fordham Univ in New York. I am using c++ for most of time, and a bit Java(just finished a simple Android app last year), and I'm studying Ruby on Rails for one of my courses.
Updated on July 09, 2022Comments
-
Chong Yue almost 2 years
I have read other questions about adding a vertical line in Android, here's my questions
- I was able to add a vertical line as a "View" under my main RelativeLayout, but fails to do it within sub RelativeLayout.
code for a vertical line
<View android:id="@+id/verticalSeperatorHours" android:layout_width="1dip" android:layout_height="match_parent" android:background="@color/medium_dark_gray" />
code for a horizontal line:
<LinearLayout android:id="@+id/currentTimeMarkerLinearLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="0dp" android:layout_marginTop="100dp" android:baselineAligned="false" android:orientation="horizontal" android:padding="0dp" > <View android:layout_width="0dp" android:layout_height="3dp" android:layout_weight="1" /> <View android:id="@+id/currentTimeLineView" android:layout_width="0dp" android:layout_height="1dp" android:layout_weight="14" android:background="@color/strong_blue" /> </LinearLayout>
My structure xml:
- RelativeLayout
- LinearLayout
- ScrollView
- RelativeLayout
- RelativeLayout
- "Adding a vertical line doesn't work"
- "Adding a horizontal line works"
- LinearLayout
- Adding a vertical line here works but not what I want"
The "View" after the LinearLayout of horizontal line didn't appear. I realized that I didn't understand the structure of android layout in deep, so can someone explain it to me how it works.
Complete Layout:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:arm="http://schemas.android.com/apk/res/edu.cmu.sv.arm" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="0dp" > <LinearLayout ... <View android:id="@+id/dividerView" android:layout_width="fill_parent" android:layout_height="1dp" android:layout_below="@+id/dayLabelsLinearLayout" android:background="@color/medium_gray" /> <ScrollView android:id="@+id/calendarScrollView" android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_below="@+id/dividerView" android:layout_alignParentBottom="true" android:overScrollMode="never" android:padding="0dp" android:scrollbars="none" android:fadingEdge="none" > <RelativeLayout android:id="@+id/calendarRelativeLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="0dp" > <LinearLayout ... <LinearLayout android:id="@+id/currentTimeMarkerLinearLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="0dp" android:layout_marginTop="100dp" android:baselineAligned="false" android:orientation="horizontal" android:padding="0dp" > <View android:layout_width="0dp" android:layout_height="3dp" android:layout_weight="1" /> <View android:id="@+id/currentTimeLineView" android:layout_width="0dp" android:layout_height="1dp" android:layout_weight="14" android:background="@color/strong_blue" /> </LinearLayout> <View android:id="@+id/verticalSeperatorHours" android:layout_width="1dip" android:layout_height="match_parent" android:layout_marginLeft="100dp" android:background="@color/medium_dark_gray" /> </RelativeLayout> </ScrollView> <LinearLayout ... <View ... </RelativeLayout>
-
Chong Yue over 10 yearsThanks for your reply. But that's not exactly what I was asking. My horizontal line works as yours, but on the other hand, the similar code doesn't work for vertical lines.
-
Dushyant Patel over 10 yearsI have updated my answer, try again. It should work, I just implemented this in my layout. @ChongYue
-
Amitsharma over 8 yearsthis is very simple code just give height and width