在项目中使用的是高德地图,放置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)
// This page is way off-screen to the left.
view.setAlpha(0); } else if (position <= 0) { // [-1,0]
// Use the default slide transition when moving to the left page
view.setAlpha(1);
view.setTranslationX(0);
view.setScaleX(1);
view.setScaleY(1); } else if (position <= 1) { // (0,1]
// Fade the page out.
view.setAlpha(1 - position); // Counteract the default slide transition
view.setTranslationX(pageWidth * -position); // Scale the page down (between MIN_SCALE and 1)
float scaleFactor = MIN_SCALE
+ (1 - MIN_SCALE) * (1 - Math.abs(position));
view.setScaleX(scaleFactor);
view.setScaleY(scaleFactor); } else { // (1,+Infinity]
// This page is way off-screen to the right.
view.setAlpha(0);
}
}
}

还发现一个更简单的方法是给MapView加入一个负数的margin比方左边会有黑边就设置marginLeft="-80dp",marginRight="-80dp"左右都设置是要保证地图内容居中显示,这样会让MapView没入View吧边缘,黑边就不会被看到了

SurfaceView左右滑动切换黑屏问题解决方式的更多相关文章

  1. Ubuntu 16.04 Vysor 破解 和黑屏问题解决+ 闪屏问题解决

    最新破解更新说明: 参考本人blog: 点我呀 黑屏解决 Vysor使用和黑屏问题 经过了一段时间的艰辛探索,确定是我chrome的PNaCl没有安装,然后又是一段艰辛的Google之后,终于在一个链 ...

  2. EasyPlayerPro Windows播放器全屏模式下GDI显示出现黑屏问题解决

    问题来源 2017.12.21 前天有杭州某教育领域客户反馈有部分视频源在全屏模式下显示黑屏: 问题复现 EasyPlayerPro由于没有实现单个窗口完全全屏,故没有暴露该问题,晚上加班,加上单个窗 ...

  3. 112、两个Activity切换黑屏问题

    <activity android:name=".main.select.ActDoyenActivity" android:screenOrientation=" ...

  4. 解决百度地图Fragment切换黑屏问题

    https://blog.csdn.net/rentalphang/article/details/52076330 轻松解决啦!

  5. Android如何避免切换至SurfaceView时闪屏(黑屏闪一下)以及黑屏移动问题

    1.最近的项目中,有一个Activity用到Fragment+ViewPager,其中一个fragment中实现了视频播放的功能,包含有SurfaceView.结果,每次打开程序第一次进入到该Acti ...

  6. android surfaceView 黑屏

    最近在做一个viewpager + fragment 切换的页面, 其中一个fragment 打开摄像头,需要surfaceView,但是当切换到这个fragment的前一个个时,这个fragment ...

  7. Android强制设定横屏时,SurfaceView一直黑屏

    接着上一个问题,解决了SurfaceView闪屏问题之后(http://www.cnblogs.com/Joanna-Yan/p/4829325.html),又有了一个新的问题.现在我想设置含有fra ...

  8. 解决Activity启动黑屏和设置android:windowIsTranslucent不兼容activity切换动画的问题

    在该项目中遇到开Activity之后,黑屏问题,解决的办法是在网上通过设置发现theme和style特性,可以实现. http://www.cnblogs.com/sunzn/p/3407078.ht ...

  9. Linux 安装 Nvidia 驱动出现的黑屏各种问题和解决方式

    之前因为想OBS支持h264-nvenc这个功能然后就编译ffmpeg,然后使用Github上面的一个编译项目),项目编译完成之后重启电脑,然后就进入不了系统的登录页面了,选择进入Linux系统之后就 ...

随机推荐

  1. WebService 布置简单的计算器

    实验环境:myeclipse2015 具体的过程如下: 首先建立一个web service project 命名就为WebServiceProject,同时选择web service framewor ...

  2. windows server 2008开机自动登陆无密码,关机不必写原因

    运行secpol.sec接下来,在弹出的“本地安全策略”对话框中,依次展开左边树图到“本地策略”-“安全选项”,在右边可以找到“交互式登录 无须按 Ctrl+Alt+Del”,双击该项设置为“已启用” ...

  3. 大话设计模式C++实现-第17章-适配器模式

    一.UML图 关键词:Client须要Request()函数,Adaptee提供的是SpecificRequest()函数,Adapter提供一个Request()函数将Adaptee和Specifi ...

  4. zzulioj--1715--土豪银行(贪心)

     1715: 土豪银行 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 456  Solved: 123 SubmitStatusWeb Board ...

  5. vue平行组件传值 params

    欢迎加入前端交流群交流知识&&获取视频资料:749539640 需要传值的组件组件: <template> <div> <router-link :to= ...

  6. android adb command

    一.adb启动activity: $ adb shell$ am start -n {包(package)名}/{包名}.{活动(activity)名称} 如:启动浏览器 # am start -n ...

  7. C++之指针与引用,函数和数组

    ]={,,}; //ptr是指针,该指针类型是int[3] ]=&arr; cout << **ptr << endl;//第一次解指针时得到数组地址,第二次解指针取数 ...

  8. vue 初始化项目模板报错

    E:\xiaogezi.cn\vue>vue init webpack myProject vue-cli · Failed to download repo vuejs-templates/w ...

  9. 新疆大学OJ(ACM) 1099: 数列有序!

    1099: 数列有序! 时间限制: 1 Sec  内存限制: 128 MB 题目描述 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的 ...

  10. 51nod 1272 最大距离 O(nlog(n)) , 快排 , 最大连续子串

    题目: 解法:排序,把值小的和索引小的放在前面,记录一下之前索引最小的就可以了. 没什么可以讲的,上代码吧: #include <bits\stdc++.h> using namespac ...