三步實現Android懸浮效果

2021-07-31 09:21:48 字數 1129 閱讀 2783

之前做專案的時候實現的乙個懸浮效果,如圖(可能不夠清晰)

meibei.gif

接下來就是實現效果,如圖所示

sticky.gif

原理很簡單,用recyclerview addheaderview的方式實現,實現步驟:

1.新增依賴

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

github

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就會自動的解析相對...