【问题标题】:How can I detect current device is Android Tablet?如何检测当前设备是 Android 平板电脑?
【发布时间】:2013-04-29 11:03:20
【问题描述】:

我目前是安卓应用程序。在这个应用程序中,我添加了以下行来隐藏 android 的 topbar。

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

在这种情况下,当用户想在手机中进入我的应用程序的设置时,他们可以按Android手机的“菜单”按钮。但是对于三星 Galaxy tab2 7.0,里面没有菜单按钮。这就是为什么我想知道如何在我的应用程序中检测当前访问设备是否是平板电脑。如果是平板电脑,我想在我的应用中显示 Android 的工具栏。

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    您的 Galaxy Tab 正在运行 Honeycomb 或更高版本,这意味着旧的选项菜单已被弃用,取而代之的是操作栏。话虽如此,标题栏中仍然有一个菜单图标(在 Honeycomb 中是一个带有斜线的正方形,在 Jelly Bean 中是三个方点)。如果您的用户单击它,他们将获得您的标准选项菜单(但是没有菜单项图标)。

    另一种方法是运行 ActionBar Sherlock 来为您的应用提供操作栏,无论操作系统版本如何。

    如果您坚持根据操作系统版本进行自己的分支,请尝试以下操作:

    int sdk = android.os.Build.VERSION.SDK_INT;
    
    if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB)
    {
        // Gingerbread and earlier
    }
    else
    {
        // Honeycomb and later
    }
    

    【讨论】:

    • 现在我的 Galaxy Tab2 7.0 是 Jellybean,我的 SIII 也是。这就是为什么我们无法检测基于我的操作系统版本的原因。按屏幕尺寸检测怎么样?
    猜你喜欢
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    相关资源
    最近更新 更多