android按钮超过listview

时间:2016-01-31 16:27:10

标签: android xml listview layout

首先,我想说抱歉,但我有设计Android应用程序的问题:D 我希望按钮位于列表视图下方。实际上按钮位于列表视图上并隐藏了下部区域。我该如何解决?

screenshot

我的布局文件:

<FrameLayout 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:layout_marginTop="?android:attr/actionBarSize"
    android:background="@color/white"
    tools:context="de.app.me.de.MyFragment">
    <android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/swiperefresh"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">

            <ListView
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:id="@+id/listview_ticket"
                android:layout_gravity="center"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginTop="3dp"

                />

    </android.support.v4.widget.SwipeRefreshLayout>

    <Button
        android:layout_width="match_parent"

        android:layout_height="60dp"
        android:id="@+id/btn_reply"
        android:text="Antworten"
        android:layout_gravity="center_horizontal|bottom"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:background="@color/orange"
        android:textColor="@color/white"
        android:layout_marginBottom="5dp"
        android:layout_marginTop="5dp"/>


</FrameLayout>

3 个答案:

答案 0 :(得分:1)

使用它:

<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:orientation="vertical"
android:layout_marginTop="?android:attr/actionBarSize"
android:background="@color/white"
tools:context="de.app.me.de.MyFragment">
<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/swiperefresh"
    android:layout_above="@+id/btn_reply"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/listview_ticket"
        android:layout_gravity="center"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="3dp"

        />

</android.support.v4.widget.SwipeRefreshLayout>

<Button
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:id="@+id/btn_reply"
    android:text="Antworten"
    android:layout_gravity="center_horizontal|bottom"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:background="@color/orange"
    android:textColor="@color/white"
    android:layout_marginBottom="5dp"
    android:layout_marginTop="5dp"/>

基本上,只需将FrameLayout更改为RelativeLayout并在底部对齐按钮,并通过将layout_above添加到swipeRefreshLayout

使listview位于上方按钮上

答案 1 :(得分:0)

将此添加到您的FrameLayout

android:orientation="vertical"

从您的ListView

中删除
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"

修改

使用按钮尝试此操作:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" >

<Button
android:layout_width="match_parent"
android:layout_height="60dp"
android:id="@+id/btn_reply"
android:text="Antworten"
android:layout_gravity="center_horizontal|bottom"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:background="@color/orange"
android:textColor="@color/white"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"/>

</RelativeLayout>

答案 2 :(得分:0)

您可以将父类更改为RelativeLayout。并在ListView中设置以下属性

android:layout_above="@+id/button"

并为按钮设置以下属性

android:layout_alignParentBottom="true"

RelativeLayout适用于这些类型的渲染。