Android 集成右滑退出

一.轟隆一聲靂響,小編閃亮登場。


實(shí)例.gif

二.本篇采用第三方控件swipebacklayout,集成步驟如下:

1.依賴 compile 'me.imid.swipebacklayout.lib:library:1.1.0'

2.基類BaseActivity繼承SwipeBackActivity

3.在不需要滑動的Activity中添加如下代碼:

getSwipeBackLayout().setEnableGesture(false);//禁止右滑退出

4.在清單文件( AndroidManifest )文件中,為主Activity(就是主界面的activity 如MainActivity)的theme屬性所對應(yīng)的style樣式中,添加如下代碼:

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

找不到位置的朋友可以參考下圖:


AndroidManifest文件中.png

vaues文件夾下的styles文件中.png

5.為需要滑動退出的activity的style樣式中,添加如下代碼:

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

6.到此為止,集成成功。需要添加混淆的朋友可以在混淆文件中加入如下代碼

     #SwipeBackLayout
     -dontwarn me.imid.swipebacklayout.lib.**
     -keep class me.imid.swipebacklayout.lib.**{*;}

7.與狀態(tài)欄顏色沖突的解決方案:

      A.為每個根Activity設(shè)置背景色,此時設(shè)置的背景色即為狀態(tài)欄顏色。
      再用單獨(dú)的一個Layout包裹所有布局作為次根布局,單獨(dú)設(shè)置你需要的背景色即可。

8.與沉浸式狀態(tài)欄沖突的解決方案:

A.在根布局下添加一個填充作用的View,代碼設(shè)置相當(dāng)于狀態(tài)欄高度的margin值即可。
B.參考代碼如下(MyUtils為個人工具類,具體方法可往下翻。):
    //獲取狀態(tài)欄高度
    int statusBarHeight = MyUtils.getStatusBarHeight(this);
    //設(shè)置margin值
    MyUtils.setMargins(vVenuesFull, 0, statusBarHeight, 0, 0);
image.png
/**
 *
 * 為某個控件設(shè)置margin
 * @param v
 * @param left
 * @param top
 * @param right
 * @param bottom
 */
public static void setMargins (View v, int left, int top, int right, int bottom) {
    if (v.getLayoutParams() instanceof ViewGroup.MarginLayoutParams) {
        ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
        p.setMargins(left, top, right, bottom);
        v.requestLayout();
    }
}

/**
 * 獲取系統(tǒng)狀態(tài)欄高度
 * @param context
 * @return
 */
public static int getStatusBarHeight(Context context) {
    int statusBarHeight = 0;
    Resources res = context.getResources();
    int resourceId = res.getIdentifier("status_bar_height", "dimen", "android");
    if (resourceId > 0) {
        statusBarHeight = res.getDimensionPixelSize(resourceId);
    }
    return statusBarHeight;
}

三.參考自https://blog.csdn.net/u013231041/article/details/52816500

四.隨手分享,喜歡的朋友可以關(guān)注微信公眾號MiHomes,后續(xù)會有更多更好的博客推送給您。

另:歡迎指出不足,會進(jìn)行更正

末尾:移動互聯(lián)&人力資源交流群,可加微信zy666128入群交流。


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容