android - 如果方向设置为纵向,是否仍然可以检测到方向变化?

标签 android animation button sensors screen-orientation

我正在尝试使用 OrientationEventListener 检测设备方向的变化,因此我可以使一些按钮随设备方向旋转,同时将布局设置为纵向。我想知道使用 SensorEventListener 执行此操作是否是一个更好的主意,但我不知道如何执行此操作,因为我以前从未使用过传感器。有什么办法可以做到这一点吗?

最佳答案

OrientationEventListener 是正确的选择。为什么您认为 SensorEventListener 更好?

做这样的事情:

OrientationEventListener orientationEventListener = new OrientationEventListener(this, SensorManager.SENSOR_DELAY_UI) {

    @Override
    public void onOrientationChanged(int angle) {
        if(angle > 260 && angle < 280) {
            button.setRotation(90);
        } else if(angle > 80 && angle < 100) {
            button.setRotation(270);
        } else if(angle > 350 || angle < 10){
            button.setRotation(0);
        }
    }
};
orientationEventListener.enable();

关于android - 如果方向设置为纵向,是否仍然可以检测到方向变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33457945/

相关文章:

c# - 单击按钮(动态创建的按钮)获取对象/项目 - 堆栈面板

android - 溢出菜单的工作原理

Android webrequest简单解决方案

用于动画的 JQuery IDE(类似 IDE 的 Flash)

android - Android 上 ActivityGroup 中的幻灯片过渡动画

html - 表单输入和按钮没有完全对齐

android - android 股票浏览器上的 flexbox

android - 将联系人添加到android模拟器

WPF:如何在弹出窗口中淡入和缩放用户控件

android - 将 ClickListener 添加到 TextButton LibGDX