- 博客(16)
- 收藏
- 关注
原创 主动调用measure测量ConstraintLayout不生效
背景:在自己封装的AlertDialog#onCreate中有一个自动包裹scrollView的操作,先去主动测量contentView的高度,如果超过设定的最大高度(screenHeight -offset)则将contentView包裹一个scrollView,再添加到setContent中。在启动app时会弹出一个隐私确认弹窗,此弹窗的需求类似,在超过设定的最大高度后,包裹滚动。但此弹窗的最大高度小于AlertDialog默认最大高度,故在此业务逻辑上也需要先主动测量一个view的高度,然后决定是否
2020-05-20 14:58:20
1424
原创 使用BitmapFactory压缩图片遇到的问题总结
压缩前先搞明白原理:Bitmap占用的内存大小:bytes = 原始图片宽*(options.inTargetDensity/options.inDensity)*原始图片长*(options.inTargetDensity/options.inDensity)*每个像素点位数inTargetDensity指的是当前手机的密度,inDensity是图片的所在drawable目录生成的密...
2018-04-18 15:15:27
1724
原创 StartActivityForResult启动模式在不同场景下的不同结果
这里写图片描述 在4.4 singleTask加taskaffinity也能新建任务栈 4.4,Main3设置singleInstance,则建立新的任务栈一,使用startActivityForResult 在4.4: 1.启动一个正常的LaunchMode是standard的activity ,可以接收到resultOK 2.启动一个有NEW_TASK的flag的ac...
2018-04-03 17:55:03
2315
2
原创 解决使用Debug.startMethodTracing后找不到对应的.trace文件
最近需要分析优化启动时间,查了资料准备使用在方法开始处加Debug.startMethodTracing()结束点加Debug.stopMethodTracing.搜了网上的博客,都是startMethodTracing()不传参数的话默认保存在/sdcard/dmtrace.trace(抄的时候都不去试试,唉) 。 由于懒,执行后直接去执行adb pull 。但是发现根本就没有生成这个文件。迷茫...
2018-03-23 17:16:18
11824
1
原创 关于自定义Dialog更改其在window展现位置
预期实现一个如下的Dialog 使用一下代码更改Dialog的位置 private void updateDialog() { WindowManager.LayoutParams attributes = getWindow().getAttributes(); getWindow().setGravity(Gravity.BOTTOM|Gravity...
2018-03-14 16:14:51
736
原创 在Android Studio下使用Hierarchy Viewer
启动方式,先启动android device monitor(之前去文件夹tools里面找hierarchyviewer.bat行不通了,推荐使用adm): 然后出现了这个错误: hierarchyviewer]Unable to get view server version from device 2d2843d hierarchyviewer]Unable to get vi...
2018-03-08 13:35:22
638
原创 Android获取拓展外置SD卡(可插拔)路径及读写外置SD卡的方法
有需求做一些类似文件管理器的,就会用到获取外置可移动SD卡的路径。一般的通过Environment或者Context获取的都是手机自带的存储卡路径,类似storage/emulated/0/加后缀。由于谷歌之后的意思是像ios一样,不支持外置USB或者外置可移动SD存储。但是国内的厂商一般都支持。先大概分个类,6.0以下的使用方法一,6.0以上的使用方法二。方法一1.遍历env的key...
2018-02-27 15:27:31
13896
3
原创 自定义View的测量总结
分析一下viewGroup层面的测量流程,可以参考的看** ViewGroup –> measureChildren –> measureChild –>触发view.measure() –> 具体实现在view.onMeasure()ViewGroup没有measure(…)方法,view去实现****遍历子view,去执行measureChild(),P...
2018-02-24 16:37:16
186
原创 app字体不随系统字体变化
放在application中全局适用,别的在onConfigchange中试过,没有效果/** * 系统字体变化的时候默认fontScale = 1.0 * 放在BrowserApp中全局都适用 **/ @Override public Resources getResources() { Resources res = super...
2018-02-13 18:11:58
2336
原创 android调用系统分享指定某些应用
有个需求是在调用系统分享的时候,分享到页面地图打不开,所以分享列表中药去掉地图类的应用,具体实现如下,需要注意的是当同一个应用内有多个响应的组件,intent直接设置setPackageName()会导致出现系统的图标,点击后里面是一个应用的俩种分享途径,例如注释所述,所以需要制定包名和类名,给系统具体的信息private Intent dealResultWithoutMapIntent...
2018-02-12 12:12:08
3731
原创 关于使用Intent协议在webview中跳转三方app
最近项目上有个需求,是关于在webview加载一个url的形式使用Intent协议跳转到指定的app页面,查看Intent源码发现Intent.parseUri()方法的第二个参数flag有三种类型: Intent.URI_ANDROID_APP_SCHEME 和 Intent.URI_INTENT_SCHEME 还有 URI_ALLOW_UNSAFE ;第三种不安全,一般不使用。 前俩种的格式为
2017-10-25 18:06:51
11184
原创 android通过Intent跳转到添加联系人界面的小结
方法很固定: Intent intent = new Intent(Intent.ACTION_INSERT); intent.setType(“vnd.android.cursor.dir/person”); intent.setType(“vnd.android.cursor.item/contact”) intent.setType(“vnd.
2017-08-04 15:40:36
1721
原创 Activity did not call finish() prior to onResume() completing原因和解决办法
最近发现一个针对6.0 Activity使用Theme.NoDisplay style 时候爆出这个log, Google的处理方式是直接fatal crash,很蛋疼。 log里面给出了解决方法,在onResume方法之前要调用finish,确实调用了没问题了,但是不知道原因,最后还是在StackOverflow 查到了。 我大体翻译一下:如果在6.0手机上你的Activity主题使用了NoDi
2017-07-21 16:03:22
12042
原创 欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-01-29 19:34:58
193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人