开发者

How do I determine if an android device is naturally landscape or portrait?

How do I determine whether or not the accelerometer would report a roll of zero when the bottom long side of the screen is facing the ground?

I need to do this without instructing the user t开发者_StackOverflowo hold the phone in a certain position. I am hoping to be able to do something like:

Context.getResources().getConfiguration().getNaturalOrientation == Orientation.LANDSCAPE

IMPORTANT: The above line of code is not possible, it's just an example of what I would like to do.


I found the answer for this. It's very simple using API8 and higher, simply use Display.getRotation()


this may help you to detect the configuration change

 @Override
        public void onConfigurationChanged(Configuration newConfig) {
            super.onConfigurationChanged(newConfig);
            //onConfigurationChanged
            if (newConfig.equals(Configuration.ORIENTATION_LANDSCAPE)) {
                 //ORIENTATION_LANDSCAPE
            } else if (newConfig.equals(Configuration.ORIENTATION_PORTRAIT)) {
                 //ORIENTATION_PORTRAIT
                }
        }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜