Comments (11)
原因我大致清楚了,因为侧滑的时候会把上个页面的View添加到侧滑布局中,然后banner.stopAutoPlay();这个没有停止轮播,需要使用banner.setAutoPlayAble(false);
因为在轮播的时候估计是布局重新layout了,导致重新调整了整个布局;
所以解决方法就是在onPause时调用banner.setAutoPlayAble(false)
onResume时调用banner.setAutoPlayAble(true)即可
@JakeWoki
from slideback.
贴log看看 这么神奇
from slideback.
打印哪里的log?
from slideback.
哦 明白你的意思了 是它滑动到某个位置停留 然后它自己回到原位吗?
from slideback.
是的,但是我用demo没有这个问题
from slideback.
这我也没发解决啊。。。。
from slideback.
可能是哪里出问题呢?我打印log看看
from slideback.
@oubowu
原来是轮播影响了。用的是BGABanner-Android。有轮播的页面是不滑动的,下一个页面才滑动。滑回去轮播的页面的过程中,在某个位置的时候停留会闪回去,这种情况怎么处理呢?
from slideback.
能发个简单的demo我试一下么?
from slideback.
build.gradle的增加
compile 'cn.bingoogolapple:bga-banner:2.1.5@aar'
compile 'com.github.bumptech.glide:glide:3.7.0'
content_main.xml改为
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/content_main"
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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.oubowu.slideback.demo.MainActivity"
tools:showIn="@layout/activity_main">
<cn.bingoogolapple.bgabanner.BGABanner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="163dp"
app:banner_pointAutoPlayAble="true"
app:banner_pointAutoPlayInterval="3000"
app:banner_pointContainerBackground="#44aaaaaa"
app:banner_pointContainerLeftRightPadding="10dp"
app:banner_pointTopBottomMargin="6dp"
app:banner_indicatorGravity="bottom|center_horizontal"
app:banner_pageChangeDuration="800"
app:banner_tipTextSize="10sp"
app:banner_tipTextColor="@android:color/white"
app:banner_pointDrawable="@drawable/bga_banner_selector_point_solid"
app:banner_transitionEffect="accordion"/>
<Button
android:onClick="jump"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:foreground="?attr/selectableItemBackground"
android:text="跳转侧滑页面"/>
<Button
android:onClick="jumpScroll"
android:layout_alignParentBottom="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginBottom="40dp"
android:foreground="?attr/selectableItemBackground"
android:text="跳转带有滑动控件的页面"/>
</RelativeLayout>
MainActivity改为:
public class MainActivity extends AppCompatActivity implements BGABanner.Delegate<ImageView, String>, BGABanner.Adapter<ImageView, String>{
BGABanner banner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
banner = (BGABanner) findViewById(R.id.banner);
test();
}
private void test() {
banner.setAdapter(MainActivity.this);
List<String> imgs = new ArrayList<>();
List<String> tips = new ArrayList<>();
imgs.add("http://pic89.huitu.com/res/20161109/16517_20161109155832329050_1.jpg");
imgs.add("http://pic89.huitu.com/res/20161105/1050513_20161105161149859020_1.jpg");
tips.add("dddd");
tips.add("fffffffff");
banner.setData(imgs, tips);
}
@Override
public void onBannerItemClick(BGABanner banner, ImageView itemView, String model, int position) {
}
@Override
public void fillBannerItem(BGABanner banner, ImageView itemView, String model, int position) {
Glide.with(itemView.getContext())
.load(model)
.placeholder(R.mipmap.ic_launcher)
.error(R.mipmap.ic_launcher)
.dontAnimate()
.centerCrop()
.into(itemView);
}
@Override
protected void onPause() {
super.onPause();
banner.stopAutoPlay();
}
public void jump(View view) {
startActivity(new Intent(this, SecondActivity.class));
overridePendingTransition(R.anim.anim_slide_in, R.anim.anim_none);
}
public void jumpScroll(View view) {
startActivity(new Intent(this, ScrollActivity.class));
overridePendingTransition(R.anim.anim_slide_in, R.anim.anim_none);
}
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.anim_none, R.anim.anim_slide_out);
}
}
这样就可以测出来了
from slideback.
多谢帮忙
from slideback.
Related Issues (20)
- 请问如何导入? HOT 1
- 返回后会在上一个界面add 一个view 导致界面过度绘制 HOT 1
- 给webview加侧滑导致webview顶部被遮住一部分 HOT 1
- 希望作者能上传jcenter,对这个库很感兴趣,希望能共同帮助维护 HOT 1
- 当activity有倒计时控件时,界面滑动会不停闪烁,怎么解 HOT 6
- 列表页快速上滑的时候,很容易关闭页面,几率很高的。 HOT 12
- 当添加滑动监听时,上级页面列表数据回顶部(5个手机3个存在问题),或者初始化上级页面ui HOT 1
- 当页面内有视频播放时,侧滑会出现一抖一抖的异常
- SlideBackHelper的attach该出偶尔导致crash HOT 14
- 与ViewPager的事件冲突
- 侧滑返回上一个页面后会闪回一次
- 导入之后发现底部存在存在一个黑色栏 HOT 11
- 侧滑返回后无法用openDrawer打开抽屉,会导致锁死
- 怎么引入到工程中呢? HOT 2
- 边缘长按有时会闪回去 HOT 2
- 边缘斜向上侧滑可以不让它返回吗 HOT 3
- return (ViewGroup) activity.getWindow().getDecorView() java.lang.NullPointerException HOT 10
- 我大概知道怎么处理沉浸式状态栏问题了 HOT 1
- CacheDrawView存在StackoverflowError的问题 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from slideback.