Closed chenchali closed 5 years ago
参看AppImpl设置导航栏代码 /**
return false则是不处理导航栏。则成了默认的黑色导航栏
如果改成false导航栏会将项目底部bottomBar覆盖,创建的项目默认导航栏是白底黑色按钮,现在集成你这个依赖后导航栏是activity的背景色,按钮是透明带边框的样式,我是想改成默认创建项目时的白底黑色按钮(小米mix2s,小米6x,小米8,这几个都是这样的问题)
下载了你的这个项目 ,运行在这几款全面屏手机上时也是同样的问题,导航栏三个按钮都是透明带边框的样式,不知道怎么修改一下
截图给我看看,运行出来啥效果
boolean isInit = mActivityFragmentControl != null ? mActivityFragmentControl.setNavigationBar(activity, navigationViewHelper, bottomView) : true; if (isInit) { activity.getWindow().getDecorView().setTag(R.id.navigation_view_helper, true); navigationViewHelper.init(); }
按道理return true;我的库才会执行操作导航栏相关操作否则是不会操作的
@Override public void setSwipeBack(Activity activity, BGASwipeBackHelper swipeBackHelper) { //以下为默认设置 //需设置activity window背景为透明避免滑动过程中漏出背景也可减少背景层级降低过度绘制 activity.getWindow().setBackgroundDrawableResource(android.R.color.transparent); swipeBackHelper.setSwipeBackEnable(true) .setShadowResId(R.color.colorSwipeBackBackground) //底部导航条是否悬浮在内容上设置过NavigationViewHelper可以不用设置该属性 .setIsNavigationBarOverlap(false); } 通步将setIsNavigationBarOverlap设置成false即可
其他应用都是正常的
@override public void setSwipeBack(Activity activity, BGASwipeBackHelper swipeBackHelper) { //以下为默认设置 //需设置activity window背景为透明避免滑动过程中漏出背景也可减少背景层级降低过度绘制 activity.getWindow().setBackgroundDrawableResource(android.R.color.transparent); swipeBackHelper.setSwipeBackEnable(true) .setShadowResId(R.color.colorSwipeBackBackground) //底部导航条是否悬浮在内容上设置过NavigationViewHelper可以不用设置该属性 .setIsNavigationBarOverlap(false); }
通步将setIsNavigationBarOverlap设置成false;同时设置 @override public boolean setNavigationBar(Activity activity, NavigationViewHelper helper, View bottomView) { //其它默认属性请参考FastLifecycleCallbacks return false; }
十分感谢
如果按照你那样设置又会出现另一个问题,就是把导航栏三个按钮隐藏,用全面屏手势操作,导航栏应该隐藏才对
你说的两个地方都设置成true全面屏现不现实三个按钮都没有问题,只是三个按钮是透明带边框的,如果能改一下这个三个按钮的颜色就没有问题了
这个问题后续处理下,猜测是滑动返回库处理问题 setSwipeBackEnable(false) 设置false试一试 activity.getWindow().setBackgroundDrawableResource(android.R.color.transparent); swipeBackHelper.setSwipeBackEnable(false) .setShadowResId(R.color.colorSwipeBackBackground) //底部导航条是否悬浮在内容上设置过NavigationViewHelper可以不用设置该属性 .setIsNavigationBarOverlap(false);
都试过了,那好的
这个试了不好用
确实是滑动返回库造成的 https://www.jianshu.com/p/09a3c6098cf5
这个滑动返回能禁掉吗?按照网上的那个方法写了之后还是有那个问题
public void setSwipeBack(Activity activity, BGASwipeBackHelper swipeBackHelper) { swipeBackHelper.setSwipeBackEnable(false); } 设置成false试一试
如果不可以的话就是使用 implementation 'com.github.AriesHoo:FastLib:2.2.10-beta6_16' 这个版本 新增了一个回调 @Override public boolean isSwipeBackEnable(Activity activity) { return false; } 返回false则不进行滑动返回操作,可参看Demo AppImpl 对应方法
集成之后,虚拟导航栏的三个按钮是带边框的透明状态,想设置成黑色的,该怎么修改