一、解决删除“运行模式”布局的问题
1.直接将对应的xml部分删除
2.将 Java中MainActivity中引用对应的ID部分删除,并将运行模式的值默认
3.效果图:
二、裁剪方法
方法1:android自带的crop进行裁剪。
缺点:裁剪样式比较单一。(目前还没用过)
方法2:第三方依赖库uCrop。
有点:裁剪样式多,且可以旋转图片,满足用户横拍。(目前正在使用)
uCrop的GitHub 地址https://github.com/Yalantis/uCrop
参考博客:
【Android -- 开源库】uCrop (裁剪) 的基本使用_Kevin-Dev的博客-优快云博客_ucrop
三:当前问题
问题1:由于现在的UI逻辑写在Fragment里面,不知道为什么在经过裁剪后回调方法onActivityResult()不响应,也就没法将裁剪后的图片在UI界面展示。(我在单独的一个项目里测试,裁剪的逻辑代码写在Activity里面,就能成功)。(已解决)
问题2:在我单独的测试项目里,经uCrop裁剪后的图片像素变差,特别是拍照功能。在进行文本拍照后,经过裁剪后的图片中文字直接模糊了,OCR肯定无法识别。如下图:
在使用uCrop时,有一个属性“设置图片压缩质量 options.setCompressionQuality(100)”,但使用后页没什么效果,裁剪后一样像素变差。(已解决)
四:问题解决
解决问题1: onactivityresult()没有回调此方法,是因为被包含当前frgment的activity拦截了。需要重写activity的onactivityresult() 并在里面调用fragment.onactivityresult ()
参考博客:https://blog.youkuaiyun.com/qq_34083013/article/details/100972373
2022/09/15
解决问题2:UCrop有很多属性,其中UCrop.withMaxResultSize(width, height)设置结果的最大宽高,由于我图片显示框最大是300dp,所有当时在设置width和height时就为300。但这个UCrop.withMaxResultSize()与界面上的大小没关系的,所以导致了图片模糊。最后取消掉这个属性,经过裁剪后的图片像素就不会变差了。
进度
1、开始模拟竞品布局。home页和kit页有些地方相同,用了同一种UI(GridView),今天写了一个例子在两个页面都成功加载数据,后面改进写一个BaseFragment,把相同的部分写作BaseFragment里,然后让home页和kit页去继承BaseFragment就可以了,不用写多边。
2、butterknife的使用。第三方库butterknife可以帮我们简化代码。当UI控件较多的时候,那么就会有很多的findViewById()和clickListener()。而butterknife通过“反射+注解”帮我们完成了这些工作。
详细使用:参考博客https://blog.youkuaiyun.com/duoduo_11011/article/details/103416928