专栏首页与神兽党一起成长Android检测当前屏幕的方向

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---
}

这两种方法有什么区别么?

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LinkedHashSet内部是如何工作的(翻译)

    LinkedHashSet是HashSet的一个“扩展版本”,HashSet并不管什么顺序,不同的是LinkedHashSet会维护“插入顺序”。HashSet...

    用户3579639
  • 将JSON对象格式化输出(上篇)

    (这后面的内容不用看了) 最近在使用Node.js开发项目,由于JavaScript内置了对JSON的支持,自然而然想到了使用JSON编写配置文件。

    用户3579639
  • [Java]使用Apache Commons Execs调用脚本

    我之前在SF上提问了一个问题:如何正确使用PipedInputStream和PipedOutputStream

    用户3579639
  • Python练手例子(6)

    31、请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

    py3study
  • python 中输出字符的颜色控制属性

    在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中。而一般的应用服务器,第三方库,甚至服务器的一些通告也...

    学到老
  • python_控制台输出带颜色的文字方法

    在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中。而一般的应用服务器,第三方库,甚至服务器的一些通告也...

    人生不如戏
  • python 中输出字符的颜色控制属性

    在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中。而一般的应用服务器,第三方库,甚至服务器的一些通告也...

    学到老
  • python缩进

    学习Python与其他语言最大的区别就是,Python的代码块不使用大括号({})来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。

    py3study
  • python字典操作

    字典用{}表示,其中是一系列的“键-值”对,可以使用键来访问对应的值,这个值可以是数,可以是字符串,可以是一切python对象。键和值之间用冒号分隔

    py3study
  • Python中复合数据类型(list,turple以及切片,循环等操作)

    现在,c这个tuple不能变了,它没有append(),insert()这样的方法。但你可以使用c[0],c[-1],但不能赋值成另外的元素。 因为tupl...

    李智

扫码关注云+社区

领取腾讯云代金券