亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android實(shí)現(xiàn)側(cè)滑只需一步

 更新時(shí)間:2019年03月07日 08:56:32   作者:Vea  
這篇文章主要介紹了Android實(shí)現(xiàn)側(cè)滑只需一步,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

先解釋一下這個(gè)標(biāo)題,說的是實(shí)現(xiàn)App側(cè)滑返回功能只需要一行代碼就能搞定,怎么做到的我待會(huì)會(huì)說。側(cè)滑所指的就是側(cè)滑返回,后面的介紹過程我將用側(cè)滑表面其意。請看側(cè)滑效果如下圖:

Github地址:0侵入側(cè)滑返回

使用

在 Application 初始化

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

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

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

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

這個(gè)屬性在實(shí)際應(yīng)用中是純在問題的它會(huì)引起一系列的動(dòng)畫問題,如前后臺(tái)切換動(dòng)畫、Activity回退動(dòng)畫等。還有個(gè)值得注意的是在界面跳轉(zhuǎn)的時(shí)候,發(fā)起跳轉(zhuǎn)的Activity只會(huì)執(zhí)行onPause方法,而不會(huì)執(zhí)行onStop方法。

于是乎我決定改變這個(gè)局面,在這個(gè)過程中我有三個(gè)方面的考慮:對項(xiàng)目傾入性,高地版本手機(jī)適配性,主題兼容性。要抓好這三個(gè)點(diǎn),這是我的目的。下面我就這三個(gè)方向具細(xì)的說

傾入性

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

適配性

在適配性方面我希望在高低版本的手機(jī)當(dāng)中側(cè)滑效果是一樣的,不會(huì)出現(xiàn)閃一下的情況

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

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

ps:這個(gè)動(dòng)畫我是從系統(tǒng)anim里面當(dāng)中找出來的

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

兼容性

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

因?yàn)檫@個(gè)兩個(gè)選項(xiàng)在每個(gè)項(xiàng)目中都是不固定的,不統(tǒng)一的。不能因?yàn)槭褂昧薙wipeBack就要改變他,這是不太友好的。應(yīng)該更好的對待它們,兼容它們。處理這一點(diǎn)我用到了反射技術(shù)。反射Activity的convertFromTranslucent方法將透明主題轉(zhuǎn)為不透明兼容兩者。

總結(jié)

以上就是我今天和大家分享的Android側(cè)滑Lib,已經(jīng)使用到我的項(xiàng)目中。

Github地址:0侵入側(cè)滑返回

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android中的dumpsys命令詳解

    Android中的dumpsys命令詳解

    本文詳細(xì)講解了Android中的dumpsys命令,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Android實(shí)現(xiàn)滑動(dòng)側(cè)邊欄

    Android實(shí)現(xiàn)滑動(dòng)側(cè)邊欄

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)滑動(dòng)側(cè)邊欄效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Android開發(fā)實(shí)現(xiàn)的簡單五子棋游戲示例

    Android開發(fā)實(shí)現(xiàn)的簡單五子棋游戲示例

    這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)的簡單五子棋游戲,結(jié)合實(shí)例形式分析了Android實(shí)現(xiàn)五子棋游戲功能的布局、游戲功能等具體實(shí)現(xiàn)步驟與相關(guān)算法實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-12-12
  • Android實(shí)現(xiàn)多媒體之播放音樂

    Android實(shí)現(xiàn)多媒體之播放音樂

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)多媒體之播放音樂的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Android再探全面屏適配示例詳解

    Android再探全面屏適配示例詳解

    這篇文章主要為大家介紹了Android再探全面屏適配示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Android中3種全屏方法及3種去掉標(biāo)題欄的方法

    Android中3種全屏方法及3種去掉標(biāo)題欄的方法

    這篇文章主要介紹了Android中3種全屏方法及3種去掉標(biāo)題欄的方法,二個(gè)問題各給出了3種解決方法,并給出實(shí)例代碼,需要的朋友可以參考下
    2015-06-06
  • Android實(shí)現(xiàn)九宮格拼圖游戲

    Android實(shí)現(xiàn)九宮格拼圖游戲

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)九宮格拼圖游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Android視頻處理之動(dòng)態(tài)時(shí)間水印效果

    Android視頻處理之動(dòng)態(tài)時(shí)間水印效果

    這篇文章主要A為大家詳細(xì)介紹了Android視頻處理之動(dòng)態(tài)時(shí)間水印效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android自定義ListView單擊事件失效的解決方法

    Android自定義ListView單擊事件失效的解決方法

    這篇文章主要為大家詳細(xì)介紹了Android自定義ListView單擊事件失效的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android應(yīng)用隱私合規(guī)檢測實(shí)現(xiàn)方案詳解

    Android應(yīng)用隱私合規(guī)檢測實(shí)現(xiàn)方案詳解

    這篇文章主要介紹了Android應(yīng)用隱私合規(guī)檢測實(shí)現(xiàn)方案,我們需要做的就是提前檢測好自己的應(yīng)用是否存在隱私合規(guī)問題,及時(shí)整改過來,下面提供Xposed Hook思路去檢測隱私合規(guī)問題,建議有Xposed基礎(chǔ)的童鞋閱讀,需要的朋友可以參考下
    2022-07-07

最新評論