Android view滑動懸浮固定效果實現-踩坑記
android新特性:使用CollapsingToolbarLayout實現摺疊效果及問題解決[有比較嚴重的卡頓感]
https://www.jianshu.com/p/485223349703
CollapsingToolbarLayout有滑動摺疊有嚴重的卡頓,不順暢,實現一波之後,非常不推薦。
推薦以下方式,需要懸浮的View整2個,自定義ScrollView中監聽滑動 隱藏顯示。
https://blog.csdn.net/ganshenml/article/details/78341223
https://blog.csdn.net/ganshenml/article/details/53112722,監聽ScrollView中的
佈局
自定義ScrollView
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<data>
</data>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_gray_f8"
android:orientation="vertical">
<com.szltech.OrientSecurities.view.CustomTitleBar
android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:text_title="我的資產" />
<com.szltech.OrientSecurities.thirdpart.MyCustomScrollView
android:id="@+id/my_scroll_view"
android:layout_below="@id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include
android:id="@+id/layout_piechart"
layout="@layout/layout_piechart"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
<FrameLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include
layout="@layout/layout_myassert_tab"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>
<View
android:background="@color/white"
android:layout_width="match_parent"
android:layout_height="10dp"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/listview_margin"
android:layout_marginRight="@dimen/listview_margin"
android:background="@drawable/bg_assest_list_top"
android:gravity="center_vertical"
android:paddingLeft="@dimen/margin_10"
android:paddingRight="@dimen/margin_10">
<TextView
android:id="@+id/tv_tab_total_str"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="直銷總資產"
android:textColor="@color/white"
android:textSize="@dimen/size16" />
<TextView
android:id="@+id/tv_tab_total_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
tools:text="888,888.88元"
android:text="--"
android:textColor="@color/white"
android:textSize="@dimen/size16" />
</RelativeLayout>
<ListView
android:id="@+id/lv_asset_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/listview_margin"
android:layout_marginRight="@dimen/listview_margin"
android:layout_marginTop="-10dp"
android:divider="@null"
android:listSelector="@color/transparent"
android:scrollbars="none" />
</LinearLayout>
</com.szltech.OrientSecurities.thirdpart.MyCustomScrollView>
<FrameLayout
android:visibility="gone"
android:id="@+id/tab_layout_float"
android:layout_below="@id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include
layout="@layout/layout_myassert_tab"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>
</RelativeLayout>
</layout>
CoordinatorLayout方式
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools">
<data>
</data>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_gray_f8"
android:orientation="vertical">
<com.szltech.OrientSecurities.view.CustomTitleBar
android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:text_title="我的資產" />
<android.support.design.widget.CoordinatorLayout
android:id="@+id/coordinator_Layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_layout"
app:layout_behavior="com.szltech.OrientSecurities.thirdpart.FlingBehavior"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsingToolbarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:collapsedTitleTextAppearance="@style/ToolBarTitleText"
app:contentScrim="@color/bg_red"
app:expandedTitleMarginEnd="10dp"
app:expandedTitleMarginStart="10dp"
app:expandedTitleTextAppearance="@style/transparentText"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<!--設定layout_scrollFlags保證CollapsingToolbarLayout能滾動-->
<!--app:layout_scrollFlags="scroll|exitUntilCollapsed"-->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include
android:id="@+id/layout_piechart"
layout="@layout/layout_piechart"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
</android.support.design.widget.CollapsingToolbarLayout>
<FrameLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include
android:id="@+id/tab_layout_include"
layout="@layout/layout_myassert_tab"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/nsv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:scrollbars="none"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/listview_margin"
android:layout_marginRight="@dimen/listview_margin"
android:background="@drawable/bg_assest_list_top"
android:gravity="center_vertical"
android:paddingLeft="@dimen/margin_10"
android:paddingRight="@dimen/margin_10">
<TextView
android:id="@+id/tv_tab_total_str"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="直銷總資產"
android:textColor="@color/white"
android:textSize="@dimen/size16" />
<TextView
android:id="@+id/tv_tab_total_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
tools:text="888,888.88元"
android:text="--"
android:textColor="@color/white"
android:textSize="@dimen/size16" />
</RelativeLayout>
<ListView
android:id="@+id/lv_asset_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/listview_margin"
android:layout_marginRight="@dimen/listview_margin"
android:layout_marginTop="-10dp"
android:divider="@null"
android:listSelector="@color/transparent"
android:scrollbars="none" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
</LinearLayout>
</layout>
相關推薦
Android view滑動懸浮固定效果實現-踩坑記
android新特性:使用CollapsingToolbarLayout實現摺疊效果及問題解決[有比較嚴重的卡頓感]https://www.jianshu.com/p/485223349703CollapsingToolbarLayout有滑動摺疊有嚴重的卡頓,不順暢,實現一
Android view滑動懸浮固定效果實現
1.背景 在專案開發過程中,有時候會碰到這樣的需求:在滑動的過程中,在某時要將子view固定在頂部(常見的是將介面中的tab在滑動到頂部的時候進行固定)。 之前寫過一篇滑動元件懸浮固定在頂部的部落格,但感覺還是有些複雜,因此就有了這次的實現。效果圖: 2.思路 (Coor
Android UI效果實現 滑動模糊漸變效果實現
大家應該都看到過iOS7解鎖螢幕的滑動模糊漸變效果,好了,現在可以把手紙收起來了,今天黃老師就給大家講一下如何在Android平臺上 實現類似的滑動模糊漸變效果,其實方式遠比你想像的簡單。 目標效果展示: 第一部分:幾個前提 說到模糊效
Android桌面懸浮窗效果實現,仿360手機衛士懸浮窗效果
大家好,今天給大家帶來一個仿360手機衛士懸浮窗效果的教程,在開始之前請允許我先說幾句不相干的話。不知不覺我發現自己接觸Android已有近三個年頭了,期間各種的成長少不了各位高手的幫助,總是有很多高手喜歡把自己的經驗寫在網上,供大家來學習,我也是從中受惠了很多,在此我深表感
Android View體系(二)實現View滑動的六種方法
1.View的滑動簡介 View的滑動是Android實現自定義控制元件的基礎,同時在開發中我們也難免會遇到View的滑動的處理。其實不管是那種滑動的方式基本思想都是類似的:當觸控事件傳到View時,系統記下觸控點的座標,手指移動時系統記下移動後的觸控
C# WPF QQ新消息托盤懸浮窗效果實現
pop https 高度 pes ica ace api draw amp 今天在做一個項目的時候需要這麽一個效果,但是網上找了一會發現並沒有現成的給我參考(復制),但是呢,我千(到)辛(處)萬(抄)苦(襲)想(復)破(制)頭(粘)腦(貼)終於還是給做出來了~嘿嘿嘿 QQ
android:多次點選效果實現
public class MainActivity extends AppCompatActivity{ private final static int COUNTS = 5;//點選次數 private final static long VALIDTIME = 1300;/
C# WPF QQ新訊息托盤懸浮窗效果實現
原文: C# WPF QQ新訊息托盤懸浮窗效果實現 今天在做一個專案的時候需要這麼一個效果,但是網上找了一會發現並沒有現成的給我參考(複製),但是呢,我千(到)辛(處)萬(抄)苦(襲)想(復)破(制)頭(粘)腦(貼)終於還是給做出來了~嘿嘿嘿 QQ新訊息懸浮窗即:QQ有新訊息時托盤圖示會閃動,此時移動滑鼠
Android 卡片邊框模糊陰影效果實現
1. 使用<shape>標籤實現 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
Android 露珠/水滴 拖拽 效果實現
解釋一下標題: 露珠拖拽/水滴拖拽:就是一個View不但能跟著手滑動。還能根據滑動速度,改變形狀,像露珠或者水滴那樣。 這裡是效果實現的Demo 具體實現就是如下一個Java檔案 DewdropView.java package com.demo.dewdropdemo; i
android之滑動懸浮tab&無限迴圈的viewPager
android之滑動懸浮tab&無限迴圈的viewPager 2017年01月10日 15:12:03 小鐘視野 閱讀數:2627 標籤: 真正的無效迴圈viewpager懸浮tab選中tab居中 更多 效果圖如下: 雖然listview現在已經
android 可移動懸浮框的實現
整個Android的視窗機制是基於一個叫做 WindowManager,這個介面可以新增view到螢幕,也可以從螢幕刪除view。它面向的物件一端是螢幕,另一端就是View,直接忽略我們以前的Activity或者Dialog之類的東東。其實我們的Activity或
android recyclerView滑動到固定位置
因為recyclerView的scrillToPosition(int position)只能移動到介面顯示的位置,所以當滑到介面顯示的位置時,還要手動再劃一點位置 1.要滑動的位置在螢幕的上方直接滑動到該位置,即顯示在螢幕頂部 2.要滑動的位置在螢幕的中間,向上滑動一段距離 3.要滑動的位置在螢幕
Android 動態Tab分頁效果實現
當前專案使用的是TabHost+Activity進行分頁,目前要做個報表功能,需要在一個Tab頁內進行Activity的切換。比方說我有4個Tab頁分別為Tab1,Tab2,Tab3,Tab4,現在的需求是需要將Tab1內的Activity動態切換。找了很多資料最終使用了ActivityGroup解
Android中主流狀態列效果實現
Android在早期的系統版本中,狀態列是不支援修改的,所以開啟任何應用程式會發現頂部的狀態列始終是黑條。在Android 4.4(KitKat)之後,系統的狀態列開始支援開發者定製和修改,包括顯示或隱藏,更改顏色等(嗯,一定是抄襲ios的...),又在Android 5.
使用Material Design實現沉浸式狀態列+懸浮+漸變效果實現
前言 近期發現市面上很多App都採用了沉浸式狀態列效果,近期抽時間使用Material Design控制元件實現了一個,故記錄分享 程式碼實現 1、新增Material Design依賴 implementation 'com.android.su
巢狀滾動多TAB可懸浮頭效果實現
前言 在前面的文章中我們已經實現過巢狀滾動可以懸浮頭效果,當時有兩種實現: 1. Listview多tab上滑懸浮 一種是一個ListView裡面切換資料來源,同時監控頁面滾動,佈局頁面中設定兩層,一層放置懸浮頭,滾動到一定位
Android廣告輪播圖效果實現
效果如下: 首先看下一下佈局檔案: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schem
安卓View滑動之利用動畫實現彈性滑動
背景昨天用Scroller實現了下彈性滑動,而利用動畫,也可以實現類似的效果步驟1、建立ValueAnimator,新增updateListener主要的scroll邏輯是放在updateListener裡的,程式碼如下 final ValueAnimator
android view滑動助手類OverScroller
0hi猿團提供了移動跨平臺開發視訊,包括html5,apicloud appcan,dcloud,具體請看http://www.9y.cm Android裡Scroller類是為了實現View平滑滾動的一個Helper類。通常在自定義的View時使用,在View中定