Skip to content
onion124567 edited this page Dec 31, 2021 · 15 revisions

Welcome to the TechnologyPoint wiki!

1 View.post 与Hanlder.post区别,View会在自己布局完成后调用post,在自己的post中对自己改变,是得不到希望的结果的。

2 View.setX 与setTranslate,做动画时最好用setTranslate,不会改变View本身的坐标位置,方便复原。

3 ViewGroup .clipchild 可用于 子View超出本View布局。 子View可超出容器。有padding时,clipchild有可能失效。clipchild属性 要加载爷爷布局上。

4 9path图片的最小拉伸像素是2个,可能是像素点不能整除原因。如果拉伸像素点只有1px,在显示上会有偏差。

5 此方法用于跳转到应用设置页,但在vivo手机上,应用设置页里没有权限设置,只能查看存储详情

Uri packageURI = Uri.parse("package:" + context.getPackageName()); Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, packageURI); try { context.startActivity(intent); } catch (Exception e) {//防止找不到页面 e.printStackTrace(); } 6.ScrollView有时会有内容不够,但需要充满父容器的需求。设置fillViewport=true即可.

7.Scheme跳转总结. 带Path会调用起相同host不带Path的Scheme。如:scheme://discovery/home 调起 scheme://discovery 当只有一个带Path时,不带Path也能调起带Path的。如:scheme://discovery 调起 scheme://discovery/home 当有带Path与不带Path时,不带Path只能调起自己,如:scheme://discovery 调起 scheme://discovery,不会调起scheme://discovery/home.反例见第一条。 当有两条及以上带Path时,不带Path调不起任何页面,如:scheme://discovery 调不起scheme://discovery/home,scheme://discovery/main

8.drawBitmap Rect绘制总结. new Rect(left, top,right,bottom)其中,left和top控制绘制坐标,right,bottom控制绘制区域大小. canvas.drawBitmap(bitmap,srcRect,destRect,paint)其中,srcRect是绘制bitmap哪一部分区域,destRect是讲bitmap绘制在canvas哪一区域,两者大小不等时,会被缩放或者拉伸。

9.scrollview居中 android:fillViewport="true"

10.LinkedHashMap在activity之间传递 LinkedHashMap反序列化时只能转成HashMap,失去了有序属性。建议通过公共类存储

11.android查看运行中的activity栈命令 adb shell dumpsys activity activities | sed -En -e '/Stack #/p' -e '/Running activities/,/Run #0/p'

12.viewpager notifyDataSetChanged不会刷新,因为有observer,数据的删除改变都不会刷新。此时可以复写pageadapter的getItemPosition方法中返回POSITION_NONE.这样每次notifyDataSetChanged都会instantiateItem创建。 如果所有UI都是在instantiateItem渲染则没有问题,但如果有异步回调渲染,viewpager.getCurrentItem不准。会导致显示错乱

13.自定义view,执行动画时,会在5.0部分手机上崩溃,也没有crash信息。可能是硬件加速所导致。需要在自定义view中setLayerType(View.LAYER_TYPE_SOFTWARE, null);

14.view的onSizeChanged 里不能addView,子view会看不见,宽高为0

15.seekbar宽度无法撑满时,paddingStart paddingEnd =0

Clone this wiki locally