Android如何判断是否是平板
发布日期:2021-07-16 18:25:53
浏览次数:3
分类:技术文章
本文共 1361 字,大约阅读时间需要 4 分钟。
偶然间想起Android的适配问题, 许多大牛都谈过的,主要的内容和原理网上都有,搜一搜就可以找到。所以,这里就不在复述了。而今天我们谈的主要是如何判断Android是否是平板。
众所周知,平板和手机的主要区别就是屏幕尺寸的大小。譬如:手机有4寸、5寸等;而平板就有7寸、8寸、10寸等。但是随着科技的发展以及硬件的快速推进,两者之间的屏幕尺寸之间的界限愈来愈模糊了。所以之前使用的直接使用屏幕分辨率的方法就有点不合时宜了:
/** * 是否是平板 * @param activity * @return */ public static boolean isTablet(Activity activity) { final DisplayMetrics metrics = new DisplayMetrics(); activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); final int width = metrics.widthPixels; final int height = metrics.heightPixels; if (width > 1023 || height > 1023) { return true; } else { return false; } }
之前看到过一篇博客,上面提供了一种比较适合的方式。简单来说就是在适配各个分辨率时,在相应的文件夹下配置一个resources,定义好值。再在需要的时候根据getResources()和resId获取其值:
/** * 根据value适配的不同判定是否是平板 * @param context * @return */ public static boolean isTablet(Context context) { return context.getResources().getBoolean(R.bool.isTablet); }
在res/values下创建bool.xml
false
复制bool.xml到res/values-sw600dp ( res/values-sw720dp or res/values-xlarge )下,更改isTablet为true即可。
继续查看该博客,发现博主又发现一比较友好的方式,是提取自google官方的工具类:
具体查看该类:
具体处理方法如下:
public static boolean isTablet(Context context) { return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE; }
参考: 作者:混动的云
感谢各位博主的释疑和布道。
转载地址:https://blog.csdn.net/guangsuxinhen4/article/details/20992463 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月20日 04时52分35秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
什么是服务熔断?
2019-04-27
服务器压力过大?CPU打满?我来帮你快速检查Linux服务器性能
2019-04-27
C++面经总结之《Effective C++》(一)
2019-04-27
C++面经总结之《Effective C++》(二)
2019-04-27
这是什么“虎狼之词”啊!!!程序员的健康问题,看一线老中医怎么说!!!
2019-04-27
打开我的收藏夹 -- Python数据分析杂谈
2019-04-27
上手Pandas,带你玩转数据(1)-- 实例详解pandas数据结构
2019-04-27
上手Pandas,带你玩转数据(2)-- 使用pandas从多种文件中读取数据
2019-04-27
上手Pandas,带你玩转数据(3)-- pandas数据存入文件
2019-04-27
爬虫遇上不让右击、不让F12的网站,该怎么办?
2019-04-27
上手Pandas,带你玩转数据(4)-- 数据清洗
2019-04-27
上手Pandas,带你玩转数据(5)-- 数据转换与数据定位
2019-04-27
上手Pandas,带你玩转数据(6)-- 摆脱对pandas可视化丑图的刻板印象吧
2019-04-27
linux shell — 6.初识 EXT2 文件系统
2019-04-27
Java — String(字符串)
2019-04-27
linux shell — 7.linux 磁盘与文件系统管理
2019-04-27
linux shell — 8.linux 磁盘与文件系统管理(2)
2019-04-27