luckybilly / luckybilly/SmartSwipe

NestedScrollView 嵌套 viewpage时,viewpage不是第一页右滑viewpage却触发返回上个activity

Open
#62 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
2.1k
Forks
257
PR merge metrics
No merged PRs in 30d

Description

### 问题描述

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 fragmentList = new ArrayList();
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布局代码:






```

### 当前使用的SmartSwipe版本号:
**1.1.2**
### 截图或gif
![XiaoYing_Video_1583216959665](https://user-images.githubusercontent.com/30767266/75749147-16da4880-5d5c-11ea-8786-daac22a00c89.gif)

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the issue with TestActivity and the provided NestedScrollView, TabLayout, and ViewPager XML, using SmartSwipeBack.activitySlidingBack from version 1.1.2. Trace the gesture interaction between NestedScrollView, ViewPager, and the activity back-swipe handling; done means swiping a non-first ViewPager page moves to the previous page instead of finishing the activity.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.