正确的方法来锁定跨平台版本,屏幕方向

我意识到这是一个问题的重复,但由于Android 2.3以上版本(姜饼)存在尚未发布,并接受一个明确的答案。

我有一个检索当前的屏幕方向在我的两个升级Froyo手机和蜂窝平板的代码。 我的问题是:

  1. 在两个方向上我的预姜饼版本检索,哪一个我应该使用?
  2. 我应该用什么方法来设置方向/旋转,使其锁定到位?

这里是因为我有现在的方法(检索,但不设定)

protected void lockCurrentOrientation() { int orientation; Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay(); if(Build.VERSION.SDK_INT < Build.VERSION_CODES.GINGERBREAD) { orientation = getResources().getConfiguration().orientation; Log.d(LogTag, "Orientation via getConfiguration " + String.valueOf(orientation)); // Not working - reporting -1 (SCREEN_ORIENTATION_UNSPECIFIED) // orientation = getRequestedOrientation(); // Log.d(LogTag, "Orientation via getRequestedOrientation " + String.valueOf(orientation)); orientation = display.getOrientation(); Log.d(LogTag, "Orientation via WindowManager " + String.valueOf(orientation)); } else { orientation = display.getRotation(); Log.d(LogTag, "Orientation via Display.getRotation " + String.valueOf(orientation)); } }

--------------解决方案-------------

如果您打算针对旧版本然后使用getOrientation(),如果你打算针对新版本,然后使用getRotation()。 按目标,我的意思是你把你的目标SDK在你的清单文件什么的。

分类:java的 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.891 (s). 10 q(s)