了解Android设备是正常使用的纵向还是横向设备?

joy*_*nes 43 android default landscape portrait

无论如何都要确定设备是默认的纵向还是横向?我的意思是你通常如何使用该设备.

大多数手机都有正常使用的人像屏幕,但有一些标志可以找到它吗?

Haz*_*hat 158

你可以这样做:

对于Lanscape

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
    //Do some stuff
}
Run Code Online (Sandbox Code Playgroud)

对于肖像

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){
    //Do some stuff
}
Run Code Online (Sandbox Code Playgroud)

检查:http://developer.android.com/reference/android/content/res/Configuration.html#orientation

  • 2017年像冠军一样工作. (3认同)
  • 当我的一个活动被锁定到Manifest中的特定方向时,这对我不起作用.例如,如果它被锁定为"纵向",即使我的设备是横向平板电脑,它也会返回Configuration.ORIENTATION_PORTRAIT. (2认同)

Has*_*ter 9

简单,只是一个If-Else块:

if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
    // landscape
} else {
    // portrait
}
Run Code Online (Sandbox Code Playgroud)


Her*_*rry 3

package com.android.portraitandlandscape;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Display;
import android.widget.Toast;

public class PortraitLandScape extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Display display = getWindowManager().getDefaultDisplay(); 
    int width = display.getWidth();
    int height = display.getHeight();

    Log.v("log_tag", "display width is "+ width);
    Log.v("log_tag", "display height is "+ height);

    if(width<height){
        Toast.makeText(getApplicationContext(),"Device is in portrait mode",Toast.LENGTH_LONG ).show();
    }
    else{
        Toast.makeText(getApplicationContext(),"Device is in landscape  mode",Toast.LENGTH_LONG ).show();
    }

 }
}
Run Code Online (Sandbox Code Playgroud)

您可以尝试使用此代码来检查设备是横向还是纵向。