为什么此按钮未在线性布局中显示?

时间:2015-09-03 20:10:13

标签: android android-layout

我正在尝试在屏幕的末尾添加一个按钮,因此我将内容包装在LinearLayout中,并在结尾处为该按钮添加了另一个LinearLayout。但它现在显示......

randomNumber()

知道这里有什么问题吗?

4 个答案:

答案 0 :(得分:1)

ScrollView填写了父母,因此LinearLayout没有空间了。

相反,请先指定LinearLayout,然后将ScrollView置于其上方:

<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".NasaDailyImage">

        <LinearLayout
            android:layout_width="fill_parent"
            android:id="@+id/linearlayout"
            android:layout_alignParentBottom="true"
            android:layout_height="wrap_content"
            android:gravity="center">

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/refresh" />
        </LinearLayout>

        <ScrollView
            android:layout_above="@id/linearlayout"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

             ...
        </ScrollView>  

</RelativeLayout>

答案 1 :(得分:0)

是,

这是因为你的第一个LinearLayout上有高度fill_parent

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"  ----> Makes it fill parent
    android:orientation="vertical">

答案 2 :(得分:0)

您可以尝试为scrollview和按钮赋予权重。  如果上面没有解决,则将父布局设为linearlayout,并将父线性布局的权重总和设为1,并给出子布局布局权重,即scrollview 0.9和按钮0.1,两个子视图的高度为0dp。

答案 3 :(得分:0)

找到的另一个解决方案是添加到scrollview:

android:layout_weight="1"

weight="1"获得剩余的总空间。

http://developer.android.com/guide/topics/ui/layout/linear.html#Weight