久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Android實現側滑只需一步

這篇文章主要介紹了Android實現側滑只需一步,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

先解釋一下這個標題,說的是實現App側滑返回功能只需要一行代碼就能搞定,怎么做到的我待會會說。側滑所指的就是側滑返回,后面的介紹過程我將用側滑表面其意。請看側滑效果如下圖:

Github地址:0侵入側滑返回

使用

在 Application 初始化


SwipeBackHelper.init(this); // 就這一步操作

本篇不打算長篇大論解釋原理,只想跟大家說一下我的思考。

筆者的項目中也有側滑返回功能,和很多側滑的開源項目一樣,需要繼承swipeBackActivity基類,實現控制側滑返回方法。我覺得這是比較乏味的。而且很多側滑框架需要使用透明主題true(默認為false)


<item name="android:windowIsTranslucent">true</item>

這個屬性在實際應用中是純在問題的它會引起一系列的動畫問題,如前后臺切換動畫、Activity回退動畫等。還有個值得注意的是在界面跳轉的時候,發起跳轉的Activity只會執行onPause方法,而不會執行onStop方法。

于是乎我決定改變這個局面,在這個過程中我有三個方面的考慮:對項目傾入性,高地版本手機適配性,主題兼容性。要抓好這三個點,這是我的目的。下面我就這三個方向具細的說

傾入性

能不能做到不改動Activity的就能使它擁有側滑的能力?答案是肯定的。這里我用到了ActivityLifeCallbacks技術,需要API 14+ 在onActivityCreated函數里面動態的把側滑控件植入到布局最頂級,替換之前的將初始化側滑代碼寫在Activity里方式。并且動態的判斷是否第二個入棧的Activity如果是再植入。因為第一個啟動的Activity是不需要側滑的,比如我們的首頁界面。

適配性

在適配性方面我希望在高低版本的手機當中側滑效果是一樣的,不會出現閃一下的情況

改寫swipeBack的時候,遇到在高版本的手機當中側滑結束的時候有幾率會閃一下,這讓我很是頭疼不過也得解決啊。于是我找了其他測滑庫也試試看,我發現一部分也有相同的問題,一部分沒有。于是我進一步分析那些不會閃一下的側滑庫,發現他們它們都有一個共同點,就是必須使用透明主題。這種強制要求對于我來說是不接受的,我一定要解決這個痛點。為什么會閃一下?其實很簡單,因為側滑結束的時候Activity finish會有一個退出動畫,所以你會看到閃一下的場景。那我們就把退出動畫"取消吧",于是我將退出動畫設置成如下:


<set xmlns:android="http://schemas.android.com/apk/res/android"
  android:interpolator="@android:interpolator/decelerate_quad">
</set>

ps:這個動畫我是從系統anim里面當中找出來的

做了以上改動之后發現并沒有徹底解決,雖然閃一下的幾率是大大降低了。左四右想我想我用到另外一種方式。我在dispatchDraw中將前一個activity界面中的DecorView繪制到當前activity中的畫布上,因為dispatchDraw()方法先執行,那么它就會將activity A中的DecorView繪制到當前activity B界面上。接著B進入onPause,此時界面上仍然顯示的是B的內容。再接著進入A onStart,此時系統準備A的界面,將A中的DecorView重新繪制到當前A界面中。下來進入A onResume,此時屏幕上顯示A的界面,同時隱藏B的界面。因為A界面和B界面是同樣的內容,所以屏幕的顯示不會有切換效果

兼容性

在兼容性方面我希望做到兼容透明主題與非透明主題。

因為這個兩個選項在每個項目中都是不固定的,不統一的。不能因為使用了SwipeBack就要改變他,這是不太友好的。應該更好的對待它們,兼容它們。處理這一點我用到了反射技術。反射Activity的convertFromTranslucent方法將透明主題轉為不透明兼容兩者。

總結

以上就是我今天和大家分享的Android側滑Lib,已經使用到我的項目中。

Github地址:0侵入側滑返回

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持html5模板網。

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

這篇文章主要介紹了Android開發之TabHost選項卡及相關疑難解決方法,結合實例形式較為詳細的分析了Android開發中TabHost選項卡的常見用法以及相關疑難問題解決方法,需要的朋友可以參考下
這篇文章主要介紹了Android TabHost選項卡標簽圖標始終不出現的解決方法,涉及Android界面布局相關屬性與狀態設置操作技巧,需要的朋友可以參考下
這篇文章主要介紹了Android開發之Notification手機狀態欄通知用法,結合實例形式分析了Android Notification手機狀態欄通知的常見函數、功能及使用技巧,需要的朋友可以參考下
這篇文章主要介紹了Android開發實現模仿微信小窗口功能,結合實例形式分析了Android實現微信風格Dialog對話框窗口相關功能與布局操作技巧,需要的朋友可以參考下
這篇文章主要介紹了Android開發之PopupWindow創建彈窗、對話框的方法,結合實例形式詳細分析了Android使用PopupWindow創建對話框相關操作技巧,需要的朋友可以參考下
這篇文章主要介紹了Android開發之DatePickerDialog、TimePickerDialog時間日期對話框用法,結合實例形式分析了Android使用DatePickerDialog、TimePickerDialog顯示日期時間相關操作技巧,需要的朋友可以參考
主站蜘蛛池模板: 三级av在线 | 另类ts人妖一区二区三区 | 成人在线网址 | 在线播放av网站 | 亚洲国产精品va在线看黑人 | 欧洲一级毛片 | 少妇特黄a一区二区三区 | 亚洲专区一区 | 综合伊人久久 | 97久久久久| 亚洲午夜一区 | 免费黄色片视频 | 国产精品美女 | 九九在线 | 在线观看黄色小视频 | 日韩中文视频 | 精品一区在线播放 | 国产成人免费 | 日韩国产欧美 | 久久免费网 | 国产欧美一区二区 | 欧美美女视频 | 日本少妇中文字幕 | 国产午夜一区二区 | 草草在线观看 | 日本色图视频 | 国产精品理论片 | 亚洲在线视频观看 | 久久av资源| 日本在线看 | 亚洲日本天堂 | 亚洲欧美一区二区三区四区 | 天天燥日日燥 | 成人精品在线 | 免费黄色一级 | 日韩在线一区二区 | 狠狠干夜夜操 | 黄色小视频在线观看 | 欧美一级片在线 | 中文字幕免费在线观看 | 一区二区欧美日韩 |