textureview 旋转90度后平铺_Android重力传感器随重力旋转的图标

本文介绍了如何在Android中利用重力传感器监听X、Y方向的分量,并通过旋转工具类计算角度。当角度处于特定范围时,对TextureView进行90度平铺的属性动画操作。此外,还提及了Android平台上的其他功能实现,如短信验证码自动填充、精美弹幕、头像重叠排列和QQ侧滑删除等。
摘要由CSDN通过智能技术生成
相机拍摄都有横屏拍摄和竖屏拍摄,横竖屏切换,图标也会跟着重力方向旋转,于是也做了一个相机旋转效果。 啥也不说了,先上效果图,gif大小限制,只截取了一小段:

e27a0b9c322e8c3d7b5421d447ec1251.gif

在Android平台中,传感器框架通常是使用一个标准的三维坐标系去表示一个值的。以方向传感器为例,确定一个方向当然也需要一个三维坐标,三个方向值就是一个长度为3的float数组。‍

旋转工具类:

根据重力传感器的监听,获取X、Y方向上分量计算数值角度。

为了不实时旋转,定义4个方向范围,对应角度分别为0,90,

180,270度,遍历view作属性动画。‍‍

import android.animation.ObjectAnimator;import android.app.Activity;import android.content.Context;import android.hardware.Sensor;import android.hardware.SensorEvent;import android.hardware.SensorEventListener;import android.hardware.SensorManager;import android.view.View;import java.util.ArrayList;public class RotateSensorUtil implements SensorEventListener{
        private Context context;    private SensorManager sensorManager;    //默认旋转角度code,分别为 0,1/2,3,4/-1    private int curRotateCode = 0;    //记录当前的角度,每次旋转从此处开始    private int curAngle = 0;    //需要操作旋转的集合    private ArrayList views = new ArrayList<>();    public RotateSensorUtil(Context context, ArrayList views){
            this.context = context;        this
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值