之前做專案的時候實現的乙個懸浮效果,如圖(可能不夠清晰)
meibei.gif
接下來就是實現效果,如圖所示
sticky.gif
原理很簡單,用recyclerview addheaderview的方式實現,實現步驟:
1.新增依賴github
compile 'com.github.cymchad:baserecyclerviewadapterhelper:2.9.14' compile 'com.android.support:recyclerview-v7:25.1.0'
匯入baserecyclerviewadapterhelper,用於recyclerview新增headerview;
2.布局,用標籤include,寫入需要懸浮的view;主介面用幀布局framelayout
;
然後布局headerview
3.邏輯,滑動的時候,對recyclerview進行滑動監聽然後在onscrollstatechanged(recyclerview recyclerview, int newstate)方法裡監聽懸浮view在
螢幕上y軸位移
,核心**:
int location = new int[2]; mimageview.getlocationonscreen(location); int y = location[1]; imagey = y;
在onscrolled(recyclerview recyclerview, int dx, int dy)裡不停的獲取headerview裡面懸浮標籤在
螢幕上y軸位移
,進行判斷懸浮view的顯示或隱藏,核心**:
if (mheaderview == null) return; int gettop = mheaderview.getdistancey(); if (gettop <= imagey) else
demo體驗位址
Android 桌面歌詞懸浮效果簡單實現
在使用 網易雲 的時候,發現有乙個顯示 桌面歌詞 的功能,於是就想著自己實現下。查了下資料,是用windowmanage實現的。實現過程中也出現了些問題,看了官方文件,也算攻克了。這裡貼上簡單 public class mainactivity extends activity implements...
IDEA tomcat三步實現熱部署
新增artifacts選項,war 和 war exploded二選一,若要熱部署須選後者。on update action設定每次預設run選項為redeploy重新部署 相比重新啟動要快一些了,但速度還是不太理想 on frame deactivation設定為updata classes an...
三步實現 AngularJS URL 去 號
1 開啟原始碼,設定 locationprovider 模組,將html5mode設定為true.推薦閱讀 angularjs 官方 location文件 2 在 index.html 入口檔案中設定 標籤定義相對路徑 index 在根目錄下的位址 html5mode設定為true就會自動的解析相對...