SurfaceView左右滑动切换黑屏问题解决方案

在使用高德地图的项目中,当MapView的Fragment与ViewPager中的其他Fragment切换时会出现黑屏闪边。设置Activity透明风格可以解决但会导致看到Launcher桌面。通过修改ViewPager的过渡方式,成功避免了闪黑边,具体方法是自定义ViewPager的过渡效果。此外,尝试用DrawerMenu替换SlideMenu来解决SlideMenu与MapView切换时的黑边问题,但效果不理想。另外,给MapView添加负数margin也能有效隐藏黑边。
摘要由CSDN通过智能技术生成

在项目中使用的是高德地图,放置MapView的Fragment和其他Fragment放置一个ViewPager中切换;当从MapView的Fragment切换到其他Fragment或者从其他Fragment切换到MapView就会产生闪黑边。网上有说什么设置白色背景或者设置Activity style透明。经尝试设置Activity style透明是可以解决闪黑边问题的,但是Activity透明后会看到Launcher桌面。所以这种方式也是不可行的。

 

我通过修改ViewPager的过渡方式完美解决闪黑边问题。你们也可以定义其他形式的过渡方式,只要给自己的ViewPager设置如下过渡方式即可。

ViewPager中MapView遇到的问题已经解决了,现在又遇到SlideMenu和MapView切换时闪黑边,正在寻找解决方法, 可行的话会在下一篇博客写出来(我自己尝试把SlideMenu换成了DrawerMenu还是有黑白只是不像SlideMenu那么明显,所以也是不行)。


viewpager.setPageTransformer(true, new DepthPageTransformer());

 

public class DepthPageTransformer implements PageTransformer {
	    private static final float MIN_SCALE = 0.75f;

	    public void transformPage(View view, float position) {
	        int pageWidth = view.getWidth();

	        if (position < -1) { // [-Infinity,-1)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值