如何将setTop()用于LinearLayout

时间:2013-01-28 08:32:12

标签: android

我想将LineatLayout放到屏幕的底部。 此LineraLayout位于其父级Linearlayout中。 我得到了屏幕的高度并且符合它,我知道setTop()中有什么价值。 但是setTop()没有做任何事情。 我在单击按钮后使用setTop,而不是在onCreate方法中,因此主布局已完全加载。

我试过用  LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(width,height); 但在这种情况下没有setTop方法。

这是我的布局enter image description here

这就是我想要实现的目标

enter image description here

这是我的xml文件的一部分

<!-- parent-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@xml/background_generale"
    android:gravity="top|right|center"
    android:orientation="vertical"
    tools:context=".MainActivity" >

        <!-- child-->
        <LinearLayout
         android:id="@+id/layoutBottom"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@color/mainLayoutRaddoppiaBackground"
        android:gravity="bottom|center_horizontal"
        android:weightSum="1" >

       ...here there are the 4 buttons you can see in the image...


       <!-- end child-->
        </LinearLayout> 

<!-- end parent-->
 </LinearLayout> 

我该怎么办?

2 个答案:

答案 0 :(得分:0)

parms = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,   
RelativeLayout.LayoutParams.WRAP_CONTENT);
parms.addRule(RelativeLayout.ALIGN_BOTTOM, RelativeLayout.TRUE); 

这应该将元素放在它的父元素的底部。如果您希望布局填充整个父级,请尝试将WRAP_CONTENT更改为MATCH_PARENT。但实际上在顶部对齐布局的部分是我添加的rule

答案 1 :(得分:0)

查看此布局是否有帮助:

<?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="@color/holo_grey"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="45dp"
    android:background="@color/blue_dark" >
</LinearLayout>

<LinearLayout
    android:id="@+id/llContent"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:gravity="center"
    android:orientation="vertical" >

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="openAdmin"
        android:text="ABC" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="openTasks"
        android:text="XYZ" />
</LinearLayout>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="45dp"
    android:background="@color/blue_dark" >
</LinearLayout>
</LinearLayout>