Android App获取屏幕旋转角度的方法
作者:海月汐辰 时间:2021-12-26 10:42:19
本文实例为大家分享了Android App获取屏幕旋转角度的具体代码,供大家参考,具体内容如下
一、获取屏幕旋转角度的方法是:int rotation = mActivity.getWindowManager().getDefaultDisplay().getRotation();
二、测试代码
1、getRotation\app\src\main\java\com\example\getrotation\MainActivity.java
package com.example.getrotation;
import android.content.Context;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Surface;
import android.view.View;
import android.view.WindowManager;
import android.widget.TextView;
import org.w3c.dom.Text;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
final String TAG="rotation";
TextView mshow_rotation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btn_update).setOnClickListener(this);
mshow_rotation=(TextView) findViewById(R.id.show_rotation);
}
@Override
public void onClick(View view) {
if (view.getId() == R.id.btn_update) {
int angle = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getRotation();
switch (angle) {
case Surface.ROTATION_0:
Log.d(TAG, "Rotation_0");
mshow_rotation.setText(Integer.toString(0)+"℃");
break;
case Surface.ROTATION_90:
Log.d(TAG, "ROTATION_90");
mshow_rotation.setText(Integer.toString(90)+"℃");
break;
case Surface.ROTATION_180:
Log.d(TAG, "ROTATION_180");
mshow_rotation.setText(Integer.toString(180)+"℃");
break;
case Surface.ROTATION_270:
Log.d(TAG, "ROTATION_270");
mshow_rotation.setText(Integer.toString(270)+"℃");
break;
default:
Log.d(TAG, "Default Rotation!");
break;
}
}
}
}
2、布局文件activity_main.xml
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/show_rotation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn_update"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Get Rotation value"
tools:layout_editor_absoluteX="145dp"
tools:layout_editor_absoluteY="119dp" />
</android.support.constraint.ConstraintLayout>
三、执行效果
来源:https://blog.csdn.net/qq_37858386/article/details/103817938
标签:Android,App,旋转
0
投稿
猜你喜欢
Intellij Idea修改代码方法参数自动提示快捷键的操作
2022-11-19 08:08:37
SpringSecurity登录使用JSON格式数据的方法
2021-09-10 21:40:40
Java实现计算器设计
2023-08-18 13:36:54
C#基于Socket实现简单聊天室功能
2023-05-09 01:17:32
Java AQS信号量Semaphore的使用
2021-06-11 17:10:44
java读取excel文件的两种方法
2022-08-24 16:55:45
Java多线程Thread基础学习
2023-04-17 17:12:21
C#中TextBox的横线样式及占位提示详解
2023-05-17 10:33:27
springboot实用配置详细图文教程
2023-12-07 00:36:43
JavaWeb购物车项目开发实战指南
2022-05-30 19:32:17
详解android异步更新UI的几种方法
2022-03-07 08:27:22
Java事件处理步骤讲解
2023-10-14 11:49:57
C++实现希尔排序(ShellSort)
2022-03-03 22:29:13
XListView实现下拉刷新和上拉加载原理解析
2022-02-16 06:47:52
如何调用chatGPT实现代码机器人
2023-06-05 02:09:33
Android PickerView实现三级联动效果
2023-02-25 15:05:47
c#转义字符串中的所有正则特殊字符方法示例
2021-06-23 12:05:21
Java实现图像分割功能
2022-04-10 22:27:15
Java 判断线程池所有任务是否执行完毕的操作
2021-10-03 09:43:55
Java排序算法总结之希尔排序
2022-07-16 13:19:11