我的ListView(我的ViewFilipper)填充了父级,底部的按钮被隐藏了

时间:2013-08-24 23:18:35

标签: android listview viewflipper

嗨,谢谢你的帮助!

这是我想要的结果:

enter image description here

这是我的XML:

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

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>

<include
    android:layout_height="wrap_content"
    layout="@layout/filelist" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>

其中filelist.xml是:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="vertical" >

    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:indeterminate="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/scanning" />
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fastScrollEnabled="true"
        android:layout_marginLeft="@dimen/list_margin"
        android:layout_marginRight="@dimen/list_margin"
        android:background="?attr/listBackground" >
    </ListView>

    <TextView
        android:id="@android:id/empty"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/this_folder_is_empty"
        android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>

这就是我得到的

enter image description here

3 个答案:

答案 0 :(得分:1)

这可能有用。

内部filelist.xml更改

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center" >

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight="1">

答案 1 :(得分:1)

您可以在线性布局中添加包含标记,如下所示:

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

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

    </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

    <include
        android:layout_height="wrap_content"
        layout="@layout/filelist" />

        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

        <Button
            android:id="@+id/button4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

    </LinearLayout>

这可能会对你有帮助。我不知道这是否是一种正确的方法,但现在可能是你的解决方案。

答案 2 :(得分:1)

您需要将您的父ViewGroup(布局文件中的根节点)设为RelativeLayout,然后在包含该列表的android:layout_above="@id/THE_BUTTON_CONTAINER上指定LinearLayout

系统将忽略列表中的所有意图以使其自身更大。

android:layout_aboveandroid:layout_below是非常方便的方法,当你放置你不知道尺寸的容器时我经常使用它们。示例如下:

<ListView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/myMenuBar"
    android:layout_below="@+id/myStatusBar" >

此致