gpt4 book ai didi

android - 如何以编程方式在 Android 中查找平板电脑或手机?

转载 作者:IT老高 更新时间:2023-10-28 22:12:06 26 4
gpt4 key购买 nike

我的情况是手机和平板电脑的逻辑是相同的。但布局略有不同。我尝试使用以下代码

public static boolean findoutDeviceType(Context context) 
{
return (context.getResources().getConfiguration().screenLayout &
Configuration.SCREENLAYOUT_SIZE_MASK)>=
Configuration.SCREENLAYOUT_SIZE_LARGE;
}

Samsung Tab 10"的分辨率为 1280 * 800,S3 的分辨率为 1270 * 720。此代码将 Tab 和 Phone 的 Size 返回为 XLarge,因为其检查标准为 > 960 * 720。

我已经测试在 Res 的布局文件夹中插入相应的 UI 作为 Layout、Layout-Large 和 Layout-xLarge。但这无论如何都没有影响。在检查时,它从 Layout 文件夹中获取了 UI。

无论如何,即使我将 UI 放在不同的布局文件夹中,我也必须在类文件中检查它们以设置相应的 ContentView。

还有其他方法可以找到吗?

最佳答案

Android 培训中讨论了这个主题:

http://developer.android.com/training/multiscreen/screensizes.html#TaskUseSWQuali

Here is implementation ,

归功于 ol_v_er对于这种简单易行的方法。

一些附加信息

您现在有标志表明您的应用程序是在手机还是平板电脑上运行。

我创建了两个包来处理 UI 及其功能,

com.phone
com.tablet

然后你将控制重定向到你需要的包

boolean tabletSize = getResources().getBoolean(R.bool.isTablet);
if (tabletSize) {
// do something
//Start activity for tablet
} else {
// do something else
//Start activity for phone
}

Refer

注意:我认为对于 10 英寸和 7 英寸屏幕的应用程序都从 res/values-sw600dp/ 获取资源。但更具体地说,我认为对于 10 英寸平板电脑屏幕,我们可以使用 res/values-sw720dp/

<resources>
<bool name="isTablet">true</bool>
</resources>

关于android - 如何以编程方式在 Android 中查找平板电脑或手机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16784101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com