美文网首页
android中爬坑小记

android中爬坑小记

作者: 茴香豆的第五种写法 | 来源:发表于2017-07-25 21:46 被阅读0次

    最近一直忙于各种事情,今晚有空所以将最近遇到过的一些问题记录一下,一来是怕以后遇到可以再次翻看,二来也是给大家一起分享分享自己的心得.

    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就可以.

    相关文章

      网友评论

          本文标题:android中爬坑小记

          本文链接:https://www.haomeiwen.com/subject/mekikxtx.html