最近一直忙于各种事情,今晚有空所以将最近遇到过的一些问题记录一下,一来是怕以后遇到可以再次翻看,二来也是给大家一起分享分享自己的心得.
1:华为手机选择相册后返回时候path值为null
出错情况:
Intent intentFromGallery = new Intent();
intentFromGallery.setType("image/*");
intentFromGallery.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intentFromGallery, 102);
这里时候返回的cursor中在华为手机中是没有path的
改正后:
IntentintentFromGallery =newIntent();
intentFromGallery.setType("image/*");
intentFromGallery.setAction(Intent.ACTION_PICK);
intentFromGallery.setData(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
2:小米4Cpopuwindow兼容性问题
一般通常情况我们都是让pupupwindow基于某一个控件的下方显示,所以都会比方说我们在让p居于title下方显示,用到showAsDropDown(title),这样的话一般手机都是会支持的,但是在小米4C上设置这样的话,popupwindow会覆盖在title上面,直接显示在手机顶部,为了解决这个问题,我们需要的这样做:
(1),计算出title的高度,然后在popupwindow中设置marginTop="title的高度"
(2),在自己的主视图xml中建一个0dp的view
(3),在showAsDropDown.showAsDropDown的时候直接把锚点赋值给0dp的view.
3:自定义camera中手势聚焦
遇到这样一个需求,当拍照后让sensor的值不再监听,这里就需要监听到按下拍照的这个事件监听,可能可以用onkeydown()的方法去监听,在adb shell中直接input key 27的是可以让起按下,但是在代码中不走这个方法,还有就是用反射的方式找到系统源码中拍照的activity做监听,但是太麻烦,所以直接用自定义相机来处理.
处理完成后添加手势聚焦,代码如下:
(1)设置屏幕点击的监听事件
(2)计算xy坐标值
(3)设置focusAreas的值
4:悬浮框权限问题
最近在弄一个拍照方位角显示的问题,所以需要用到WindowManager这个类,这里他不需要依附某个activity所以显示的话wm.addView(findid(), wmParams);那么问题来了,应为Windowmanager使用需要申请权限,权限控制的话,在6.0以上机型中需要手动开启,没有我测试做直接去checkpermission获取,但是没有成功,应该是需要手动进入应用权限中开启,当然有一种说法就是改变TYPE的值,变成TYPE_TOAST,这样的话,在6.0一下好像是可以,建议在6.0以上判断有权限后改变TYPE值为ALERT.
5:fragment中切换问题
做一个fragment+vierpager的切换图片的效果,一共三个fragment这个时候发现在切换会第一个和第三个的时候在双击放大的时候,没有效果,而第二个fragment是正常的,后来发现第一个和第三个在切换的时候没有找到onResume,这里的解决方案是监听setUserhintVisibility(boolean value),注意这个方法是在onCreateView之前执行.后来采用如果单纯做切换,不要使用fragment,使用PagerAdapter就可以.
网友评论