ohos扩展包——工具集合
工具类
- onSaveAbilityState/onRestoreAbilityState分发 StateHelper
StateHelper
将onSaveAbilityState/onRestoreAbilityState分发给Ability内所有的Component
使用
在Ability内调用:
在需要save/restore的控件内,实现SaveRestoreState接口:
- 替换自定义控件中的Gravity Gravity
Gravity
替换安卓中的Gravity与GravityCompact类
使用
与安卓一致,替换即可
- 测量帮助类 EstimateHelper
EstimateHelper
测量帮助类,提供一些通用的测量方法
使用
根据size与mode生成EstimateSpec,与安卓的MeasureSpec.makeMeasureSpec(int size, int mode)实现一致
根据父component的spec、padding以及子component的期望大小,生成子component的spec。与安卓中ViewGroup.getChildMeasureSpec(int spec, int padding, int childDimension)实现一致
决定控件的大小,除非有特别的约束,否则会返回控件想要的大小。与安卓中View.resolveSize(int size, int measureSpec)实现基本一致
获取控件的默认大小,除非有特别的约束,否则会返回控件想要的大小。与安卓中View.getDefaultSize(int size, int measureSpec)实现一致
- 网格布局的ItemProvider EasyGridProvider
EasyGridProvider
实现网格布局的ItemProvider
自定义Provider继承EasyGridProvider
布局文件
ListContainer设置适配器
横竖屏切换
- 颜色平滑渐变 ArgbEvaluator
ArgbEvaluator
两个颜色之间平滑渐变的动画工具类,配合AnimatorValue一起使用。
使用
- 防重复点击 PreventRepeatUtils
PreventRepeatUtils
确保按钮一秒内只能执行一次click事件
使用
- 线程池管理 ThreadPoolManager
ThreadPoolManager
线程池管理类
使用
- 设置壁纸 ApplyWallpaperAsyncTask
ApplyWallpaperAsyncTask
设置壁纸任务
使用
Java:
config.json:
- 水波纹 RippleUtil
RippleUtil
给组件设置触摸水波纹效果
使用
注意
由于组件的setTouchEventListener只能设置一次,后设置的会替换前面的,可能会导致原有的TouchEventListener失效
- ColorStateList
ColorStateList
替换Android中的ColorStateList
- 查找Component FindViewUtil
FindViewUtil
查找视图工具类
使用
- 状态栏、导航栏等相关 WindowUtil
WindowUtil
Window相关工具
使用
- 获取状态栏高度、隐藏状态栏
- 获取底部导航栏高度、底部导航栏是否显示
- 获取纵横比,判断是否是全面屏
- 获取屏幕宽高
- AttrSet获取自定义属性工具类 AttrUtils
AttrUtils
从AttrSet获取自定义属性工具类
使用
xxx extends Component
从AttrSet获取自定义属性:传入 AttrSet,属性名,默认值
String count = AttrUtils.getInteger(attrSet,"cus_count","0");
属性定义:
布局头中加入 xmlns:hap="http://schemas.huawei.com/apk/res/ohos"
,使用hap区分自定义属性与系统属性。
即可使用hap:cus_count="2"
,不加直接使用ohos:cus_count="2"
- 主线线程和子线程间的切换 HiExecutor
HiExecutor
主线线程和子线程间的切换
使用
- 通过资源id获取对应资源类型值 ResUtil
ResUtil
ResourceTable资源工具类,通过资源id获取对应资源类型值
使用
- Element着色器 ImageTint
ImageTint
Element着色器
使用
示例
主要方法
颜色相关工具类 ColorUtil
ColorUtil
颜色相关工具类
使用数据
使用说明
1) adjustAlpha(float alpha, int color) 改变颜色透明度数值
示例代码:
2) getAlphaPercent(int argb) 获取ARGB颜色的透明度百分比数值
示例代码:
3) colorAtLightness(int color, float lightness) 改变颜色的亮度数值
示例代码:
4) lightnessOfColor(int color) 获取颜色亮度数值(传入的颜色为RGB格式返回的lightness即为G值)
示例代码:
5) isHexString(int color, boolean isShowAlpha) Color转十六进制格式
示例代码:
6) rgbToHsv(double rr, double gg, double bb) RGB格式转HSV格式
示例代码:
7) hsvToRgb(float[] hsv) HSV格式转RGB格式
示例代码:
8) hexToRgb(String hex) 十六进制格式转RGB格式
示例代码:
9) hexToColor(String hex) 十六进制格式转Color格式
示例代码:
10) getHexString(int color) Color格式转十六进制格式
示例代码:
11) colorToRgb(int color) Color格式转RGB格式
示例代码:
哥儿,工具类地址方便贴一下吗,这只有使用方法没有代码呀。