调整SwipeRefreshLayout的高度以将View放置在其底部 [英] Adjust SwipeRefreshLayout height to place View at the bottom of it

查看:79
本文介绍了调整SwipeRefreshLayout的高度以将View放置在其底部的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在RelativeLayout中有SwipeRefreshLayout.问题是SwipeRefreshLayout占据了屏幕上的所有位置,并且我需要在该视图的之后放置一个视图.

I have SwipeRefreshLayout inside a RelativeLayout. The problem is that SwipeRefreshLayout takes all the place on the screen, and I need to put a view after this view.

查看图片:我有:第一个视图,我需要:第二个视图屏幕的底部,但顶部有一些空间.

See picture: I have: 1st view, I need: 2nd view at the very bottom of the screen but with some space at a top.

我的示例XML是:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="ru.seniorsolutions.freelansim.Orders"
    tools:showIn="@layout/app_bar_orders"
    android:paddingTop="10dp"
    android:id="@+id/layout_base">

    <android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/refreshContainer"
        android:layout_width="match_parent"
        android:layout_height="450dp"
        android:layout_marginBottom="30dp">
            <ListView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/lvOffers"
                android:choiceMode="singleChoice"
                android:fastScrollEnabled="false" />
    </android.support.v4.widget.SwipeRefreshLayout>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal" android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:measureWithLargestChild="false"
        android:layout_alignParentBottom="false"
        android:layout_alignParentLeft="false"
        android:layout_alignParentStart="false"
        android:layout_alignParentEnd="true"
        android:layout_alignBottom="@+id/refreshContainer">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="prev"
            android:id="@+id/tvPrevPage"
            android:textColor="#5bb3ee"
            android:textStyle="bold" />

        <View
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_weight="1" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="next"
            android:id="@+id/tvNextPage"
            android:textColor="#5bb3ee"
            android:textStyle="bold" />
    </LinearLayout>

</RelativeLayout>

推荐答案

android:layout_alignParentBottom="true"授予您的LinearLayout

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent"
    android:layout_alignParentBottom="true
    android:id="@+id/ll"
    .....
</LinearLayout>

并将SwipeRefreshLayout设置在上方,并将其高度设置为match_parent

<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/refreshContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@id/ll"
    android:layout_marginBottom="30dp">

这篇关于调整SwipeRefreshLayout的高度以将View放置在其底部的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆