Search code examples
androidandroid-layoutandroid-linearlayoutdivider

How to add (vertical) divider to a horizontal LinearLayout?


I'm trying to add a divider to a horizontal linear layout but am getting nowhere. The divider just doesn't show. I am a total newbie with Android.

This is my layout XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
    
    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/llTopBar"
        android:orientation="horizontal"
        android:divider="#00ff00"
        android:dividerPadding="22dip"
        android:showDividers="middle">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="asdf" />
            
        <Button
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="asdf" />
    
    </LinearLayout>
    
</RelativeLayout>

Solution

  • use this for horizontal divider

    <View
        android:layout_width="1dp"
        android:layout_height="match_parent"
        android:background="@color/honeycombish_blue" />
    

    and this for vertical divider

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/honeycombish_blue" />
    

    OR if you can use the LinearLayout divider, for horizontal divider

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
        <size android:height="1dp"/>
        <solid android:color="#f6f6f6"/>
    </shape>
    

    and in LinearLayout

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="@drawable/divider"
        android:orientation="vertical"
        android:showDividers="middle" >
    

    If you want to user vertical divider then in place of android:height="1dp" in shape use android:width="1dp"

    Tip: Don't forget the android:showDividers item.