简体   繁体   中英

Placing LinearLayout to the bottom of other LinearLayout

I am trying to use Caldroid calendar widget and position it to the bottom of the screen. But for some reason it is not going to the bottom and I see some free space below the widget.

Here is my code

  <?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!-- The main content view -->
    <LinearLayout
        android:id="@+id/r1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" 
        android:orientation="vertical"> 

    <ListView
        android:id="@+id/lv1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clickable="true"
        android:focusable="true" 
         />


    <LinearLayout
        android:id="@+id/calendar1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
       >

    </LinearLayout>
    </LinearLayout>

    <!-- The navigation drawer -->


    <ListView 
        android:id="@+id/left_drawer"
        android:layout_width="300dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"

        android:dividerHeight="0dp" 
        android:background="#fff"/>

</android.support.v4.widget.DrawerLayout>

I am replacing calendar1 with the caldroid Fragment programatically.

Below is my screen. Please let me know how I can push the calendar widget to the bottom. I tried layout_weight, layout_gravity but no effect.

在此处输入图片说明

(EDIT)With Relative Layout

![<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!-- The main content view -->
    <LinearLayout
        android:id="@+id/r1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" 
        android:orientation="vertical">

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


    <ListView
        android:id="@+id/lv1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clickable="true"
        android:focusable="true" 
         />


    <LinearLayout
        android:id="@+id/calendar1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_alignParentBottom="true"
       >


    </LinearLayout>
     </RelativeLayout>
    </LinearLayout>

    <!-- The navigation drawer -->


    <ListView 
        android:id="@+id/left_drawer"
        android:layout_width="300dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"

        android:dividerHeight="0dp" 
        android:background="#fff"/>

</android.support.v4.widget.DrawerLayout>][2]

logcat错误日志

I guess if you try this, it will work. Here I'm putting the two lieaner layouts inside a relative layout, so then I can manipulate where they are going to be on the screen.

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.v4.widget.DrawerLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <!-- The main content view -->

        <RelativeLayout
            android:id="@+id/relativeLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent" 
            android:orientation="vertical">        

        <LinearLayout
            android:id="@+id/r1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" 
            android:orientation="vertical"> 

        <ListView
            android:id="@+id/lv1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clickable="true"
            android:focusable="true"  />         

        </LinearLayout>        

        <LinearLayout
            android:id="@+id/calendar1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_alignParentBottom="true"
           >

        </LinearLayout>

        </RelativeLayout>

        <!-- The navigation drawer -->
        <ListView 
            android:id="@+id/left_drawer"
            android:layout_width="300dp"
            android:layout_height="match_parent"
            android:layout_gravity="start"

            android:dividerHeight="0dp" 
            android:background="#fff"/>

   </android.support.v4.widget.DrawerLayout>

Hope it helps!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM