android设置图片锚点旋转动画

指针的旋转动画

设置属性动画旋转

创建ObjectAnimator.offloat(); setduration()

 //从暂停到播放状态动画
 //从-25到0
playThumbAnimator = ObjectAnimator.ofFloat(binding.recordThumb, "rotation", THUMB_ROTATION_PAUSE, THUMB_ROTATION_PLAY);

//设置执行时间
playThumbAnimator.setDuration(THUMB_DURATION);

设置锚点

//黑胶唱片指针旋转点
//旋转点为15dp
//而设置需要单位为px
//所以要先转换
int rotate = (int) DensityUtil.dip2px(getContext(), 15);
binding.recordThumb.setPivotX(rotate);
binding.recordThumb.setPivotY(rotate);

图片像素转换

密度分类密度范围(dpi)倍数(相对于 mdpi)资源目录典型设备
低(ldpi)120 以下0.75xdrawable-ldpi/旧版小屏设备(少用)
基准(mdpi)120~1601x(基准)drawable-mdpi/早期 Nexus 设备
中(hdpi)160~2401.5xdrawable-hdpi/早期中端手机
高(xhdpi)240~3202xdrawable-xhdpi/主流手机(如红米、荣耀)
超高(xxhdpi)320~4803xdrawable-xxhdpi/高端手机(如 Pixel)
超超高(xxxhdpi)480~6404xdrawable-xxxhdpi/大屏设备、折叠屏手机

现在目前手机都是用的是三倍图,原图像的单位为dp,dp转化为px要除以对应倍数

在这里插入图片描述

如指针图片是276*414单位是dp,

为三倍图,所以要除以3就是92*138

找到旋转点为15dp*15dp

再调用方法将dp转化为px

设计一个方法,计算手机缩放,dp*手机缩放就可以得到px

//获取手机的缩放
        float scale = context.getResources().getDisplayMetrics().density;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值