调整 SwipeRefreshLayout 高度以将 View 置于其底部
Adjust SwipeRefreshLayout height to place View at the bottom of it
我在 RelativeLayout
中有 SwipeRefreshLayout
。问题是 SwipeRefreshLayout
占据了屏幕上的所有位置,我需要在 这个视图之后放置一个视图 。
See picture:我有:第一个视图,我需要:屏幕最底部的第二个视图,但顶部有一些 space。
我的样本 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>
给你的LinearLayout
android:layout_alignParentBottom="true"
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_alignParentBottom="true
android:id="@+id/ll"
.....
</LinearLayout>
并将SwipeRefreshLayout
设置在LinearLayout
上方,同时将其高度设置为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">
我在 RelativeLayout
中有 SwipeRefreshLayout
。问题是 SwipeRefreshLayout
占据了屏幕上的所有位置,我需要在 这个视图之后放置一个视图 。
See picture:我有:第一个视图,我需要:屏幕最底部的第二个视图,但顶部有一些 space。
我的样本 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>
给你的LinearLayout
android:layout_alignParentBottom="true"
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_alignParentBottom="true
android:id="@+id/ll"
.....
</LinearLayout>
并将SwipeRefreshLayout
设置在LinearLayout
上方,同时将其高度设置为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">