Android Dev:放置布局

时间:2010-08-31 13:50:17

标签: android

我是Android开发的新手......在制作我的应用程序布局时,我希望按钮保持在屏幕的最底部,同时在其上方放置滚动视图。我无法做到这一点,我使用滚动视图的大小为430dp,以便它工作,但当我改变屏幕的方向时,这不起作用,因为400dp比屏幕大。 如何使按钮保持在底部而不考虑屏幕方向? :/

3 个答案:

答案 0 :(得分:2)

将ScrollView的layout_height设置为fill_parrent,将layout_weight设置为1,将Button的高度设置为wrap_content。

答案 1 :(得分:0)

你可以选择

android:gravity="bottom"

这应该始终将您的元素推到其容器的底部。

但如果您发布布局XML,它会更有帮助。

答案 2 :(得分:0)

这是一个真实世界的例子,正是你所要求的。 在这个布局中,我在顶部有一个标题,列表视图占据了它下面的所有空间,一个按钮清除(取消,失败,完成)列表视图的元素,然后在底部我有一个自定义控件显示工具栏。

<?xml version="1.0" encoding="utf-8"?><LinearLayout android:id="@+id/layout" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical">

<LinearLayout android:id="@+id/browsePeerHeader"
    android:layout_width="fill_parent" android:layout_height="70sp"
    android:layout_marginBottom="2sp"
    android:layout_gravity="top"
    android:background="@drawable/background_barbed_wire"
    >


    <ImageButton
        android:id="@+id/frostwire_sphere"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:src="@drawable/icon"
        android:layout_gravity="center_vertical"
        android:layout_margin="3sp" 
        android:background="#00000000"/>

    <TextView android:id="@+id/browsePeerTitle" android:textSize="30sp"
        android:text="Downloads"
        android:textColor="#ffffffff" android:textStyle="bold" 
        android:shadowColor="#ff000000"
        android:shadowDx="1.0"
        android:shadowDy="1.0"
        android:shadowRadius="4.0"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:paddingTop="10sp"
        android:gravity="left|center_vertical"/>
</LinearLayout>


<ListView android:id="@+id/ListViewTransfers"
    android:layout_width="fill_parent" 
            android:layout_height="wrap_content"
    android:layout_marginTop="2sp" 
            android:layout_marginBottom="2sp"
    android:layout_weight="1"></ListView>

<Button android:id="@+id/ButtonClearFinished" margin="2sp"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
 />

     <com.frostwire.android.views.FrostWireStatusBar
    android:id="@+id/FrostWireStatusBar" android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom" /></LinearLayout>

这是截图 alt text

诀窍基本上是让列表视图使用包含它的布局中剩下的所有空间,你甚至不必告诉它fill_parent,只需使用android:layout_weight =“1它应该可以工作。