将LinearLayout放置到其他LinearLayout的底部

时间:2014-11-18 15:23:12

标签: android android-layout android-ui

我正在尝试使用Caldroid日历小部件并将其放置在屏幕底部。但由于某种原因,它不会触底,我在小部件下方看到了一些可用空间。

这是我的代码

  <?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>

我用编程方式用caldroid Fragment替换calendar1。

以下是我的屏幕。请让我知道如何将日历小部件推到底部。我尝试了layout_weight,layout_gravity但没有效果。

enter image description here

(编辑)使用相对布局

![<?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 error log

1 个答案:

答案 0 :(得分:1)

我想如果你试试这个,那就行了。在这里,我将两个替代布局放在相对布局中,这样我就可以操纵它们在屏幕上的位置。

    <?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>

希望它有所帮助!