SwipeRefreshLayout 與 CoordinatorLayout 巢狀重新整理
- SwipeRefreshLayout 作為最外層佈局,需要指定屬性app:layout_behavior=”@string/appbar_scrolling_view_behavior”,
- 如果CoordinatorLayout 中有巢狀 AppBarLayout 及 ListView 或 RecyclerView 也需要指定屬性 app:layout_behavior=”@string/appbar_scrolling_view_behavior”,
由於 CoordinatorLayout 是 FrameLayout 子類因此 app:layout_behavior 為必要屬性,否則無法正常顯示
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/swipeLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:addStatesFromChildren="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<android.support.design.widget.CoordinatorLayout
android:id="@+id/coord_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true" >
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false"
android:theme="@style/AppTheme.AppBarOverlay"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginStart="10dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<android.support.v4.view.ViewPager
android:id="@+id/toolbar_viewpager"
android:layout_width="match_parent"
android:layout_height="180dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:clipChildren="false"
app:layout_collapseParallaxMultiplier="1" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/AppTheme.PopupOverlay">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
</android.support.v4.widget.SwipeRefreshLayout>
找到SwipeRefreshLayout控制元件
mSwipeRefreshLayout=(SwipeRefreshLayout)findViewById(R.id.swipeLayout);
//設定樣式重新整理顯示的位置
mSwipeRefreshLayout.setProgressViewOffset(true, -20, 100);
//轉圈的顏色隨便你自己指定
mSwipeRefreshLayout.setColorSchemeColors(Color.GRAY, Color.GRAY, Color.GRAY, Color.GRAY);
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
//做重新整理操作
}
});
監聽 AppBarLayout Offset 變化,動態設定 SwipeRefreshLayout 是否可用
appBarLayout = (AppBarLayout) findViewById(R.id.appbar_layout);
appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
if (verticalOffset >= 0) {
mSwipeRefreshLayout.setEnabled(true);
} else {
mSwipeRefreshLayout.setEnabled(false);
}
}
});
相關推薦
SwipeRefreshLayout 與 CoordinatorLayout 巢狀重新整理
SwipeRefreshLayout 作為最外層佈局,需要指定屬性app:layout_behavior=”@string/appbar_scrolling_view_behavior”, 如果CoordinatorLayout 中有巢狀 AppBarLay
CoordinatorLayout與NestedScrollView巢狀RecyclerView使用中的坑
做一個詳情頁面的時候,遇到了上述使用方式的坑,上滑的時候RecyclerView上滑了,但是並沒有與頭部也就是AppBarLayout產生聯動,頭部沒有上拉了。 這個問題的解決方法是呼叫Recycle
CoordinatorLayout 巢狀Recyclerview在巢狀Recyclerview滑動出現衝突解決辦法
RecyclerView巢狀RecycleView 要做一個介面,CoordinatorLayout巢狀AppBarLayout和RecyclerView來實現摺疊滑動,我的RecycleView裡面佈局較多,計劃再嵌入RecyclerView來實現,當我用到RecyclerView新增
IOS開發~UISCrollView與UITableView巢狀使用終極解決方案
問題由來:專案需要做類似網易新聞的那種UIScrollView上放多個UITableView的效果,其中UITableView還要有下拉重新整理效果。 一開始的思路,也是最直觀的思路就是一個UIScrollView上放多個UITableView,然後發現UITab
建立普通內部類物件與建立巢狀類物件的不同
為什麼需要使用內部類? 使用內部類的原因:每個內部類都能獨立的繼承自一個(介面的)實現,所以無論外部類是否已經繼承了某個(介面的)的實現,對內部類都沒有影響。實際上內部類有效的實現了“多重繼承”,就是說,內部類允許繼承多個非介面型別。 我們知道內部類自動擁有
解決ConstraintLayout 與ScrollView 巢狀時ScrollView 內容沒有完全顯示
ConstraintLayout 佈局中有ScrollView 時,ScrollView 的寬高要設定為0dp 才可以正確的約束佈局 <ScrollView android
TabBarController與NavigationController巢狀的例子
來源:http://desheng.me/2010/10/31/教程-tabbarcontroller與navigationcontroller的巢狀/ 自己在做這塊時碰到不少問題,現在做了一個簡單的例子分享出來。原始碼在這裡下載。 知識點: 使用程式的形式建立TabBar
NestedScrollView與RecyclerView巢狀,以及NestedScrollView不會滾動到螢幕頂部解決
①NestedScrollView與RecyclerView巢狀,導致滾動慣性消失 解決:mRecyclerView.setNestedScrollingEnabled(false); ②NestedScrollView中巢狀其他佈局和RecyclerView後,不會滾動
關於EditText與ScrollView巢狀使用時候出現的Edittext自動滾動至最頂部的問題
Text與ScrollView巢狀使用時候出現的Edittext自動滾動至最頂部的問題 安卓中一般來說用ScrollView巢狀過長的LinlyLayout來顯示不確定長度的佈局, 當該線性佈局中嵌套了Edittext的時候會出現種種問題: 1,Edittext中的文字過
android ListView/GridView與ScrollView巢狀的滑動衝突解決
首先說一下思路,主要就是去掉子ListView/GridView的內容全部顯示出來,使其不需要滑動。然後用ScrollView將其包裹在其中,接管滑動事件,達到整個佈局的滑動效果。 實際做法需要將ListView/GridView 與 ScrollView 覆
解決ViewPager與GridView巢狀的滑動不流暢和高度無法自適應
最近產品提了一個需求,要求把首頁的導航按鈕改成和美團類似的可翻頁的GridView。 乍一看,這不就是ViewPager巢狀兩個GridView嗎,簡單簡單。簡單的答應後,我就掉進了控制元件巢狀的大坑中。 簡單的寫好程式碼後,滿心歡喜的執行程式,咦???我的ViewPa
SwipeRefreshLayout巢狀RecyclerView實現上下拉重新整理
在這裡特別感謝大神,這裡附上大神帖子:https://github.com/1030310877/LoadMoreRecyclerView SwipeRefreshLayout巢狀RecyclerView實現上下拉重新整理。SwipeRedreshLayout是Android自帶的一個下拉重
Python之路Python全域性變數與區域性變數、函式多層巢狀、函式遞迴 Python之路Python全域性變數與區域性變數、函式多層巢狀、函式遞迴
Python之路Python全域性變數與區域性變數、函式多層巢狀、函式遞迴 一、區域性變數與全域性變數 1、在子程式中定義的變數稱為區域性變數,在程式的一開始定義的變數稱為全域性變數。全域性變數作用域是整個程式,區域性變數作用域是定義該變數的子程式。 全域性變數
redux-saga generator巢狀執行的阻塞與非阻塞
1.generator呼叫generator 在one中yield另一個generatoranother function*another(params){ // ... } function*one(params,{ call, put }){ // ...
【20180517】CheckBox與其他標籤巢狀使用的問題
問題描述: 當我們用到a標籤和input標籤巢狀,點選a標籤的時候,事件冒泡一次,同時會觸發關聯的input的click事件,導致事件再次冒泡,以至於CheckBox達不到我們想要的效果。 <a href="javascript:;" id="SelectType" class="righ
Vue中路由的巢狀與重定向
文章目錄 路由的巢狀與重定向 為什麼要使用路由的巢狀 為什麼要使用路由的重定向 用法 示例 原始碼 結果 分析 路由的巢狀與重定向 為什麼要使用路由的巢狀
函式巢狀與遞迴呼叫
函式呼叫不可巢狀,但可以巢狀呼叫函式 r=x>y?x:y 遞迴呼叫 函式直接或者間接的呼叫自身叫做函式的遞迴呼叫 遞迴容易死迴圈,不斷使用空間 所以必須有是遞迴結束的條件 遞迴求解分為兩個階段: 逐層呼叫,呼叫過程中每一步都是未知的,將問題不斷分解為新的子問題,子問題又歸納為新的問題的
java基礎(二)迴圈巢狀與控制跳轉
迴圈巢狀 package com.st.basis.day04; /* * 迴圈巢狀 * 外層控制行數 * 內層控制列數 * */ public class LoopNesting { public static void main(String[] args) { //
函式巢狀與裝飾器
*應用場景,位置引數中代表將多個引數存入元祖,**將關鍵字引數傳入字典 位置引數: 位置形參:必須被傳值,一一對應 位置實參:按從左到右的順序與形參一一對應 關鍵字引數:按照key=value形式指名道姓的為形參傳值,可以完全不按照順序 1.關鍵字實參必須在位置引數的後面
函式物件、函式巢狀、名稱空間與作用域、閉包函式、裝飾器
一.函式物件 函式時第一類物件,函式可以當作資料傳遞 1.函式可以被引用 2.函式可以作為引數傳入 3.函式可以作為函式的返回值 4.函式可以作為容器型別的元素 二.函式巢狀 1.函式巢狀呼叫:在函式內又呼叫了其他函式 2.函式巢狀定義:在函式內又定義了其他函式(只能在其函式內部呼叫,在其函式