luckybilly / smartswipe Goto Github PK
View Code? Open in Web Editor NEWAn android library to make swipe more easier and more powerful. Android各种侧滑,有这一个就够了
Home Page: https://juejin.im/post/5d3fdc3af265da03c02bdbde
License: Apache License 2.0
An android library to make swipe more easier and more powerful. Android各种侧滑,有这一个就够了
Home Page: https://juejin.im/post/5d3fdc3af265da03c02bdbde
License: Apache License 2.0
招聘Android高级工程师 40K+
帅哥微信多少?
Dear billy,
I use Leakcanary to check app memory leak. But if app use SmartSwipe, when exit app and open Leakcanary , it will be crashed.
The logcat info below:
com.billy.android.swipe.demo:leakcanary E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.billy.android.swipe.demo:leakcanary, PID: 18929
java.lang.ClassCastException: com.billy.android.swipe.SmartSwipeWrapper$LayoutParams cannot be cast to com.android.internal.widget.ActionBarOverlayLayout$LayoutParams
at com.android.internal.widget.ActionBarOverlayLayout.applyInsets(ActionBarOverlayLayout.java:290)
at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:436)
at android.view.View.measure(View.java:19734)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at com.android.internal.policy.DecorView.onMeasure(DecorView.java:687)
at android.view.View.measure(View.java:19734)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2271)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1358)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1607)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6301)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
at android.view.Choreographer.doCallbacks(Choreographer.java:683)
at android.view.Choreographer.doFrame(Choreographer.java:619)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
Would you like to help to fix it?
Thanks
你好,我在Theme中给background设置一个颜色,在activitySlidingBack时不能显示上一个activity内容,只有当完全返回时才显示activity内容。
view在scrollview中且scrollview中内容较多能滑动时,上下滑动不流畅!!
预期行为:希望有Demo中的体验。Demo中虽然是在ScrollView中,但是内容不多,不能滑动。
实际行为:上下滑动不流畅,偶尔能滑动
mSmartSwipeWrapper
.addConsumer(new SlidingConsumer())
.setRelativeMoveFactor(SlidingConsumer.FACTOR_FOLLOW);
1.1.2
请描述您遇到的问题
仿微信效果的侧滑返回方式,在Dialog.show()方法调后,立即侧滑,屏幕会花屏。这个问题在SwipeBackHelper库也存在。
SmartSwipeBack.activitySlidingBack(this, new ActivitySwipeBackFilter() {
@OverRide
public boolean onFilter(Activity activity) {
return true;
}
});
在Dialog.show()方法调后,还未真正弹出之前,立即侧滑
(提交issue前请删除本行文字)有时候,一图胜千言,为了更高效的沟通,请将您认为有助于说明问题的截图或者gif图片贴在此处吧!
提交issue前请删除以下内容 <<<<<<<<<<<<<<<
=========== 小贴士 ============
将图片贴到issue中有以下几种方式:
使用之后为啥顶部标题栏不见了。。。
demo下载下来都无法运行,没有依赖库
你好, 在带有系统底部导航栏的手机上,使用SmartSwipe库后,会出现导航栏覆盖在页面上。
实际效果应该是页面在系统导航栏的上方
2 com.billy.android.swipe.SmartSwipeWrapper.onTouchEvent(SourceFile:81)
3 android.view.View.dispatchTouchEvent(View.java:12527)
4 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3026)
5 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2705)
6 com.billy.android.swipe.SmartSwipeWrapper.dispatchTouchEvent(SourceFile:60)
7 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
8 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
9 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
10 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
11 com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:444)
12 com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1835)
13 android.app.Activity.dispatchTouchEvent(Activity.java:3465)
14 com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:402)
15 android.view.View.dispatchPointerEvent(View.java:12768)
16 android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5230)
17 android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5030)
18 android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4545)
19 android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4598)
20 android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4564)
21 android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4704)
22 android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4572)
23 android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4761)
24 android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4545)
25 android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4598)
26 android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4564)
27 android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4572)
28 android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4545)
29 android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7263)
30 android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7232)
31 android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7193)
32 android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7369)
33 android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:247)
34 android.os.MessageQueue.nativePollOnce(Native Method)
35 android.os.MessageQueue.next(MessageQueue.java:326)
36 android.os.Looper.loop(Looper.java:165)
37 android.app.ActivityThread.main(ActivityThread.java:6810)
38 java.lang.reflect.Method.invoke(Native Method)
39 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
40 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
使用的代码
SmartSwipeBack.activitySlidingBack(this, new SmartSwipeBack.ActivitySwipeBackFilter() {
@Override
public boolean onFilter(Activity activity) {
//根据传入的activity,返回true代表需要侧滑返回;false表示不需要侧滑返回
return !(activity instanceof VZyMainActivity);
}
});
1.0.6
线上产品使用后,上报的错误。
在Activity中使用ActivitySlidingBackConsumer时,第一次侧滑返回,手指滑动了半个屏幕,Activity才刚开始向右滑动。如果停留在这个页面,再进行第二次、第三次滑动的话,就比较灵敏了。请问这个有什么解决办法吗?
AAPT: error: duplicate value for resource 'attr/layout_gravity' with config
AndroidX使用类似微博个人主页效果时,嵌套CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+MaterialToolbar+ViewPager+SmartSwipeRefresh+RecyclerView内部下拉刷新,出现滑动分发混乱(尤其是上滑动的时候,不触发header的向上滚动)
Androidx的版本com.billy.android:smart-swipe:1.0.0
使用版本 1.1.2
请描述您遇到的问题
我先说我页面的布局结构:
MainActivity中 从上到下, 分别是一个NoScrollViewPager包装5个Fragment,
底部是BottomNavigationView作为切换Fragment的功能按钮.
我的需求:
[只]在第一个fragment中, 从左往右侧滑, 需要拉出来一个抽屉布局, 这个布局要全屏 (遮挡MainActivity的一切, 包括Mainactivity下方的BottomNavigationView), 其他的fragment中侧滑不能拉出此布局.
我的做法:
我在第一个Fragment 的 onCreateView中,
View drawerView = LayoutInflater.from(view.getContext()).inflate(R.layout.nav_header_main, container, false);
final DrawerConsumer drawerConsumer = new DrawerConsumer();
drawerConsumer.setLeftDrawerView(drawerView);
final SwipeConsumer swipeConsumer = SmartSwipe.wrap(getActivity())
.addConsumer(drawerConsumer) //抽屉效果
//可以设置横向(左右两侧)的抽屉为同一个view ,也可以为不同方向分别设置不同的view
.setHorizontalDrawerView(drawerView)
.setScrimColor(0x2F000000) //设置遮罩的颜色
.setShadowColor(0xFFDDDDDC) //设置边缘的阴影颜色
//.setSensitivity(0.1f); //灵敏度,数值越大越灵敏
.setEdgeSize(0); //在控件边缘处一定范围内才能触发, 若为0,表示在整个控件区域都可触发
这样做是没问题的, 在第一个Fragment中, 侧滑确实能拉出来drawerView, 在其他Fragment中不能拉出此布局.
但是需求说, 在第一个Fragment中拉出布局的手势范围有点太大了, 我就:
.setEdgeSize(100); //在控件边缘处一定范围内才能触发, 若为0,表示在整个控件区域都可触发
这样做, 在第一个Fragment中左侧边缘才能拉出drawerView, 但是问题出现了:
我点击BottomNavigationView切换到其他Fragment, 在其他Fragment中左边侧滑, 也能拉出来这个drawerView...
我的问题:
我不想在其他Fragment中侧滑拉出来这个drawerView, 求教解决办法...
侧滑菜单无法从屏幕边缘关闭
从屏幕边缘滑动就能关闭侧滑菜单
现在只能在菜单边缘滑动执行
//初始化侧滑菜单
int size = SmartSwipe.dp2px(300,this);
View horizontalMenu = LayoutInflater.from(this).inflate(R.layout.fragment_my, null);
// horizontalMenu.setClickable(true);
initSlideMenu(horizontalMenu);
horizontalMenu.setLayoutParams(new ViewGroup.LayoutParams(size, ViewGroup.LayoutParams.MATCH_PARENT));
mDrawerConsumer = new DrawerConsumer()
//horizontal menu
.setHorizontalDrawerView(horizontalMenu)
//set the translucent color of scrim (default is 0:transparent)
.setScrimColor(0x7F000000)
//set the shadow color follow the drawer while swiping (default is 0:transparent)
.setShadowColor(0x80000000)
.setShadowSize(SmartSwipe.dp2px(10, this))
//set edge size to swipe to 20dp (default is 0: whole range of the contentView bounds)
.setEdgeSize(SmartSwipe.dp2px(20, this))
.as(DrawerConsumer.class);
mSwipeConsumer = SmartSwipe.wrap(this).addConsumer(mDrawerConsumer);
1.0.6
demo滑动正常
https://felixcode-1251939713.cos.ap-beijing.myqcloud.com/gifeditor_20190927_165949.gif
SmartSwipe 1.0.1
红米5
Android版本8.1
底部导航栏消失
baseapplication 设置了仿微信侧滑
1-- SmartSwipeBack.activitySlidingBack(this, null, 0,
ContextCompat.getColor(this, R.color.transparent), 0x80000000.toInt(), 30, 0.5f, 1)
2-- 左侧 屏幕中间部分 正常 屏幕 上/下 1/3部分 遮罩白屏了
如果您使用了SmartSwipe ,非常感谢您的支持,欢迎留下App名称和公司(/组织)名称,您的回复将会给作者维护开源项目带来更多动力,同时也会成为观望者的信心来源。
推荐回复格式:
- App名称:
- 用到的功能有:
- 公司或组织:
- 链接:
We appreciate you support if you or your organization is using SmartSwipe. You are welcome to leave replies about your app name and organization here, which could became the confidence of undecided watchers.
Recommended reply format:
- App Name:
- Which Features been used?: (optional)
- Company or Organization Name: (optional)
- Home Page Url: (optional)
仔细对比了下QQ的OverScroll效果,发现在使用SpaceConsumer时,多次触发滑动事件,比如:连续上下两次滑动,会有动画阻塞的情况发生,稍微有点不流畅,希望能够优化下。
你好,非常感谢阁下的库。刚在做侧滑删除功能时,参考你的SlidingConsumerActivity,配合RecyclerView使用时,拿到viewHolder.itemView之后设置setOnClickListener无效果
我的demo中是以BaseRecyclerViewAdapterHelper作为adepter的,其中拿到viewHolder.itemView后设置setOnClickListener,然后设置相关单击监听无效果。
我将你demo中的BaseRecyclerViewActivity中的
((View)ivAvatar.getParent()).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (data != null) {
Intent intent = new Intent(BaseRecyclerViewActivity.this, ImageViewerActivity.class);
intent.putExtra(ImageViewerActivity.IMAGE_EXTRA, data.avatar);
startActivity(intent);
}
}
});
都注释掉,然后再加上
itemView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(SlidingConsumerActivity.this, "单击了itemView", Toast.LENGTH_SHORT).show();
}
});
仍然没有点击效果。
是不是因为你的拖拽事件或者其他说明因素影响了点击事件的分发?
使用的是ActivitySlidingBackConsumer
在这两款手机滑动返回时,第一次滑动的时候然后松手取消滑动,这时再进行滑动返回操作时会没有任何动画效果. 但是这时是可以滑动返回的,就是没有界面效果.
在小米9 锤子手机上测试没问题
SmartSwipeBack.activitySlidingBack(this, activity ->
!(activity instanceof MainActivity) && !(activity instanceof VideoActivityFactory)
&& !(activity instanceof SplashActivity) && !(activity instanceof Login2Activity));
implementation 'com.billy.android:smart-swipe:1.0.7'
https://s31.aconvert.com/convert/p3r68-cdx67/e0zvc-fqph0.gif
作者,你好。 @luckybilly
依赖版本:smart-swipe 1.0.6
背景:
现在我项目里面使用的是BottomSheetDialog,不够解耦。
所以想用Activity来实现从下弹出,手势下滑跟随滑动关闭。
因为UI的效果,只是需要手势下滑跟随滑动关闭就行,所以不想要边缘阴影。
华为部分手机更新后反而变卡了,之前上一个版本滑动很流畅
请描述您遇到的问题
我想禁止侧滑菜单通过侧滑展开,只能通过actionbar上的按钮控制要怎么操作呢?
我在点击按钮展开view的时候再处理addConsumer方法,但是无法实现相应侧滑返回的功能
在1.04版本中:
application中初始化后,有时不能正确获取后面的activity
SmartSwipeBack.activitySlidingBack(this, new SmartSwipeBack.ActivitySwipeBackFilter() {
@OverRide
public boolean onFilter(Activity activity) {
return !(activity instanceof MainActivity);
}
});
麻烦帮着看下要怎么解决呢?应用主题不是透明的。
NestedScrollView 嵌套 viewpage时,viewpage不是第一页右滑viewpage却触发返回上个activity
NestedScrollView 内容不超出页面高度就没问题
预期行为:滑动viewpage应该返回viewpage前一个页面
实际行为:返回上个activity
代码调用:
final float factor = 0.5f;
final int edgeSize = SmartSwipe.dp2px(20, this);
final int shadowColor = 0x80000000;
final int shadowSize = SmartSwipe.dp2px(10, this);
SmartSwipeBack.activitySlidingBack(this
, null
, 0
, Color.TRANSPARENT
, shadowColor
, shadowSize
, factor
, DIRECTION_LEFT);
//activity代码:
public class TestActivity extends AppCompatActivity {
// private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
initView();
fragmentList.add(new BlankFragment());
fragmentList.add(new BlankFragment());
}
private List<Fragment> fragmentList = new ArrayList<Fragment>();
private String[] strings = new String[]{"A","B","C","D"};
private void initView(){
TabLayout tab_layout = findViewById(R.id.tab_layout);
ViewPager viewPager = findViewById(R.id.viewPager);
MyAdapter fragmentAdater = new MyAdapter(getSupportFragmentManager());
viewPager.setAdapter(fragmentAdater);
tab_layout.setupWithViewPager(viewPager);
}
public class MyAdapter extends FragmentPagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return 2;
}
@Override
public Fragment getItem(int position) {
return fragmentList.get(position);
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return strings[position];
}
}
}
//xml布局代码:
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="100dp">
</androidx.viewpager.widget.ViewPager>
</androidx.core.widget.NestedScrollView>
### 当前使用的SmartSwipe版本号:
**1.1.2**
### 截图或gif
![XiaoYing_Video_1583216959665](https://user-images.githubusercontent.com/30767266/75749147-16da4880-5d5c-11ea-8786-daac22a00c89.gif)
你好作者,下载code导入android studio后直接报错,标题所示
org.gradle.internal.exceptions.LocationAwareException: A problem occurred configuring project ':smart-swipe'.
Caused by: java.lang.IllegalStateException: Have you created the publish closure? Missing userOrg.
at com.novoda.gradle.release.PublishExtension.validate(PublishExtension.groovy:73)
手机横屏时侧滑关闭界面时会黑屏一下。
主要体现在界面滑出以后,然后闪一下。
SmartSwipe.wrap(this)
.removeAllConsumers()
.addConsumer(new ActivitySlidingBackConsumer(this))
.setRelativeMoveFactor(1F)
.enableDirection(SwipeConsumer.DIRECTION_LEFT,true);
请描述您遇到的问题: 解决方案就是在根布局在套一层布局 将rfq_root_view作为第二层布局然后放入SmartSwipe.wrap()方法中即可解决问题
预期行为:无崩溃现象
实际行为:出现了崩溃现象
//由于SmartSwipe中有较多的内置SwipeConsumer及较多的属性设置
// 为方便排查,请在这里将您出现问题的代码展示出来
mDrawerConsumer = SmartSwipe.wrap(rfq_root_view)
.addConsumer(DrawerConsumer())
.setRightDrawerView(horizontalMenu)
.setScrimColor(0x2F000000) //设置遮罩的颜色
.setShadowColor(0x80000000.toInt()) //设置边缘的阴影颜色
.addToExclusiveGroup(SwipeConsumerExclusiveGroup())
implementation 'com.billy.android:smart-swipe:1.1.2'
implementation 'com.billy.android:smart-swipe-support:1.1.0'
SwipeConsumer consumer = SmartSwipe.wrap(view)该行代码报错:NullPointerException: Layout parameters cannot be null
预期行为:recyclerview增加侧滑删除按钮
实际行为:运行崩溃
public ViewHolder onCreateViewHolder(@nonnull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.buy_course_list_inner_item, null);
TextView textView = new TextView(context);
textView.setBackgroundColor(0xFFAA0000);
textView.setTextColor(0xFFFFFFFF);
textView.setTextSize(14);
textView.setGravity(Gravity.CENTER);
// textView.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.MATCH_PARENT));
SwipeConsumer consumer = SmartSwipe.wrap(view)
.addConsumer(new SlidingConsumer())
.setHorizontalDrawerView(textView);
// .addToExclusiveGroup(exclusiveGroup);
return new ViewHolder(view);
### 当前使用的SmartSwipe版本号:
例如: **1.0.8**
### 如何复现?(如果能在demo中复现将有利于作者尽快修复问题)
### 截图或gif
(提交issue前请删除本行文字)有时候,一图胜千言,为了更高效的沟通,请将您认为有助于说明问题的截图或者gif图片贴在此处吧!
>>>>>>>>>>>>>> 提交issue前请删除以下内容 <<<<<<<<<<<<<<<
=========== 小贴士 ============
将图片贴到issue中有以下几种方式:
1. 复制图片后,在issue文本输入框中Ctrl + V (mac: command + V)粘贴,github会自动上传图片并添加为其markdown格式
2. 从文件夹中拖动图片到issue的文本输入框中,效果同上
3. 如果是一个在线图片,可在issue输入框中输入图片地址,markdown格式为: ![图片的描述](图片的地址)
请描述您遇到的问题
预期行为:暂停返回手势,解决手势冲突
实际行为:
你好作者,请问是有暂停手势的API调用嘛,需要在某种时刻暂停下手势
只要activity里调用了requestWindowFeature(Window.FEATURE_NO_TITLE)会导致停止运行
final float factor = 0.5f;
// final int edgeSize = SmartSwipe.dp2px(50, this);
final int shadowColor = 0x80000000;
final int shadowSize = SmartSwipe.dp2px(10, this);
//仿微信侧滑返回(activitySlidingBack)方案在5.0以下默认使用仿手机QQ的侧滑方案(activityStayBack)
SmartSwipeBack.activitySlidingBack(this
, new MyActivitySwipeBackFilter()
, 0
, Color.TRANSPARENT
, shadowColor
, shadowSize
, factor
, DIRECTION_LEFT);
1.1.2
void onSwipeStateChanged(SmartSwipeWrapper wrapper, SwipeConsumer consumer, int state, int direction, float progress);
rt。
请描述您遇到的问题
如果稍微用手势侧滑一点区域,再弹出输入法就没问题了,
请描述您遇到的问题
预期行为:
实际行为:
//由于SmartSwipe中有较多的内置SwipeConsumer及较多的属性设置
// 为方便排查,请在这里将您出现问题的代码展示出来
例如: 1.0.6
(提交issue前请删除本行文字)有时候,一图胜千言,为了更高效的沟通,请将您认为有助于说明问题的截图或者gif图片贴在此处吧!
提交issue前请删除以下内容 <<<<<<<<<<<<<<<
=========== 小贴士 ============
将图片贴到issue中有以下几种方式:
想对Fragment进行侧滑关闭,目前是按照 #35 的做法来的,但sliding这种效果不知道怎样实现
小米6 Android 9 ,项目没有设置窗口透明
在BaseActivity中配置了侧滑具体代码如下:
/**
* 初始化滑动返回
*/
open fun initSlidable() {
//activity侧滑返回
smartSwipe = SmartSwipe.wrap(this)
.addConsumer(ActivitySlidingBackConsumer(this))
.setRelativeMoveFactor(0.5F)
.enableLeft().apply {
//关闭返回
if(!SettingUtil.getSlidable(this@BaseActivity)){
lockLeft()
}else{
//不关闭侧滑返回
unlockLeft()
}
}
}
问题1:进入SettingActivity中 如果一开始是unlockLeft 状态下,代码修改为lockLeft 无效果,当前Activity还是可以侧滑返回,如果一开始是lockLeft状态下,代码修改为unlockLeft 就没问题,侧滑返回可以执行
问题2: 当进入一个Activity时,如果有输入法弹出,弹出的这块区域一开始会是黑色的背景,后面弹出没这个问题
问题3:很奇怪,我根据作者您的文档配置的防微信返回效果,返回是可以了,但是上个界面没有跟随联动效果啊
Only fullscreen opaque activities can request orientation
已经在项目中使用 目前在Android8.0(API 26)必现
bugly记录了大量崩溃
不过貌似是源码的改动导致
https://zhuanlan.zhihu.com/p/32190223
http://www.manongjc.com/article/37655.html
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.