android - 如何在android中为平板电脑和手机设置不同的方向

标签 android screen orientation

我想设置Portrait Orientation 并锁定ldpi 和mdpi 屏幕。并希望为 hdpi 和 xhdpi 设置横向和锁定。

当应用程序在 10 英寸平板电脑 中打开时,它应该是横向,不能是纵向。就像当应用程序在 android mobile 中打开时,它应该是 portrait not landscape

所以请帮我解决这个问题。

请引用这个问题,它对我有用:)

How to check an Android device is HDPI screen or MDPI screen?

        switch (getResources().getDisplayMetrics().densityDpi) {
        case DisplayMetrics.DENSITY_LOW:
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            break;
        case DisplayMetrics.DENSITY_MEDIUM:
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            break;
        case DisplayMetrics.DENSITY_HIGH:
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
            break;
        case DisplayMetrics.DENSITY_XHIGH:
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
            break;
        }

最佳答案

先看here查找设备是 hdpi 还是 mdpi 或 xhdpi 等等。

基于锁定您的屏幕方向。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    if (ldpi || mdpi) {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    } else if(hdpi || xhdpi) {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    }
}

关于android - 如何在android中为平板电脑和手机设置不同的方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20330825/

相关文章:

java - 是否建议在每次 findViewById 调用时检查 View 是否为空?

python - 如何用python获取选择区域坐标?

c# - Android c# 按钮重叠

android - Flutter - 如何使用 DrawImage 方法在 Canvas 上绘制图像

android - 播放视频时无法关闭屏幕

java - Android View.getDrawingCache() 抛出 CalledFromWrongThreadException

image - 检测照片方向的算法

objective-c - ios:向 ARView 添加指南针

iphone - UIView 忽略方向或粘到底部的容器

android - 如何从我的 Android 应用程序中获取资源的目录列表?