Android开发右滑返回或退出(集成)

释放双眼,带上耳机,听听看~!

一.轰隆一声雳响,小编闪亮登场。

二.本篇采用第三方控件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属性所对应的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.与状态栏颜色冲突的解决方案:

      A.为每个根Activity设置背景色,此时设置的背景色即为状态栏颜色。
再用单独的一个Layout包裹所有布局作为次根布局,单独设置你需要的背景色即可。

8.与沉浸式状态栏冲突的解决方案:

A.在根布局下添加一个填充作用的View,代码设置相当于状态栏高度的margin值即可。
B.参考代码如下(MyUtils为个人工具类,具体方法可往下翻。):
//获取状态栏高度
int statusBarHeight = MyUtils.getStatusBarHeight(this);
//设置margin值
MyUtils.setMargins(vVenuesFull, 0, statusBarHeight, 0, 0);

/**
*
* 为某个控件设置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();
}
}
/**
* 获取系统状态栏高度
* @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

四.随手分享,喜欢的朋友可以关注微信公众号MiHomes,后续会有更多更好的博客推送给您。

 

人已赞赏
Android文章

android开发圆形图片开源框架roundedimageview的使用

2020-2-29 12:27:07

Android文章

android之官方下拉刷新组件SwipeRefreshLayout

2020-2-29 14:29:04

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索