![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 60
xingnan4414
这个作者很懒,什么都没留下…
展开
-
主动调用measure测量ConstraintLayout不生效
背景:在自己封装的AlertDialog#onCreate中有一个自动包裹scrollView的操作,先去主动测量contentView的高度,如果超过设定的最大高度(screenHeight -offset)则将contentView包裹一个scrollView,再添加到setContent中。在启动app时会弹出一个隐私确认弹窗,此弹窗的需求类似,在超过设定的最大高度后,包裹滚动。但此弹窗的最大高度小于AlertDialog默认最大高度,故在此业务逻辑上也需要先主动测量一个view的高度,然后决定是否原创 2020-05-20 14:58:20 · 1338 阅读 · 0 评论 -
使用BitmapFactory压缩图片遇到的问题总结
压缩前先搞明白原理:Bitmap占用的内存大小:bytes = 原始图片宽*(options.inTargetDensity/options.inDensity)*原始图片长*(options.inTargetDensity/options.inDensity)*每个像素点位数inTargetDensity指的是当前手机的密度,inDensity是图片的所在drawable目录生成的密...原创 2018-04-18 15:15:27 · 1674 阅读 · 0 评论 -
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 · 2260 阅读 · 2 评论 -
关于自定义Dialog更改其在window展现位置
预期实现一个如下的Dialog 使用一下代码更改Dialog的位置 private void updateDialog() { WindowManager.LayoutParams attributes = getWindow().getAttributes(); getWindow().setGravity(Gravity.BOTTOM|Gravity...原创 2018-03-14 16:14:51 · 705 阅读 · 0 评论 -
解决使用Debug.startMethodTracing后找不到对应的.trace文件
最近需要分析优化启动时间,查了资料准备使用在方法开始处加Debug.startMethodTracing()结束点加Debug.stopMethodTracing.搜了网上的博客,都是startMethodTracing()不传参数的话默认保存在/sdcard/dmtrace.trace(抄的时候都不去试试,唉) 。 由于懒,执行后直接去执行adb pull 。但是发现根本就没有生成这个文件。迷茫...原创 2018-03-23 17:16:18 · 11647 阅读 · 1 评论 -
自定义View的测量总结
分析一下viewGroup层面的测量流程,可以参考的看** ViewGroup –> measureChildren –> measureChild –>触发view.measure() –> 具体实现在view.onMeasure()ViewGroup没有measure(…)方法,view去实现****遍历子view,去执行measureChild(),P...原创 2018-02-24 16:37:16 · 165 阅读 · 0 评论 -
在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 · 608 阅读 · 0 评论 -
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 · 13688 阅读 · 5 评论 -
app字体不随系统字体变化
放在application中全局适用,别的在onConfigchange中试过,没有效果/** * 系统字体变化的时候默认fontScale = 1.0 * 放在BrowserApp中全局都适用 **/ @Override public Resources getResources() { Resources res = super...原创 2018-02-13 18:11:58 · 2251 阅读 · 0 评论 -
android调用系统分享指定某些应用
有个需求是在调用系统分享的时候,分享到页面地图打不开,所以分享列表中药去掉地图类的应用,具体实现如下,需要注意的是当同一个应用内有多个响应的组件,intent直接设置setPackageName()会导致出现系统的图标,点击后里面是一个应用的俩种分享途径,例如注释所述,所以需要制定包名和类名,给系统具体的信息private Intent dealResultWithoutMapIntent...原创 2018-02-12 12:12:08 · 3683 阅读 · 0 评论 -
关于使用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 · 10943 阅读 · 0 评论