Android检测当前屏幕的方向
做为一个不那么像初学者的初学者,我注意到Android已经提供了检测屏幕方向的API,而我在《Android 4编程入门经典——开发智能手机与平板电脑应用》书中经常看到的做法却是比较屏幕的宽度和高度以此来判断是横向还是纵向模式。
书中做法
import android.view.Display;
import android.view.WindowManager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//---get the current display info---
WindowManager wm = getWindowManager();
Display d = wm.getDefaultDisplay();
if(d.getWidth() > d.getHeight()) {
//---landscape mode---
Log.d("Orientation", "Landscape mode");
} else {
//---portrait mode---
Log.d("Orientation", "Portrait mode");
}
}
而一般利用Android提供的方法可以这么做
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
//---landscape mode---
}
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){
//---portrait mode---
}
【Android检测当前屏幕的方向】这两种方法有什么区别么?
推荐阅读
- android第三方框架(五)ButterKnife
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- Java|Java OpenCV图像处理之SIFT角点检测详解
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库
- 深入理解|深入理解 Android 9.0 Crash 机制(二)
- android防止连续点击的简单实现(kotlin)