android判断手机是否支持某种语言
来源:互联网 发布:什么是棉牛仔衬衫知乎 编辑:程序博客网 时间:2024/05/21 17:31
在做app多语言的时候,遇到手机不支持某种语言时,显示空白,或方框里面打叉。
原因是手机系统的字体库不支持该种语言。
解决思路:去检测手机系统是否支持,不支持时,不显示该种语言设置选择。
方法:例如旁遮普语,语言码是pa,定义两个不同的旁遮普语字符串,将两个字符串分别写到两个大小相同的bitmap,再去比较两个bitmap每个像素值是否相同,相同表示不支持,不相同表示支持。因为不支持时,显示空白或连续的方框内打叉,所以像素点相同。
注:
1、字符串不能有空格,符号等语言无关的字符
2、为了保证方框乱码时乱码一样,图片宽度要比字符串长度短。
String str1 = "ਕਿਰਪਾਕਰਕੇਆਪਣਾਫੋਨਨੰਬਰਦਰਜ਼ਕਰੋ";String str2 = "ਫੋਨਨੰਬਰਨੂੰਸਾਈਨਅੱਪਕੀਤਾਗਿਆਹੈਤੁਸੀਂ";
/** * 判断本机是否支持某语言 * 将两个字符串写入bitmap,再比较两个bitmap是否相同 * 支持该语言时,字符串不同,像素值也不同 * 不支持时,显示空白或乱码(☐☐☐☐☐或方框内打叉),像素值相同 * * 参数不能有空格、符号、数字等其他语言通用的字符 * @param str1 某语言一段字符串 * @param str2 某语言一段字符串,与str1不同 */ public static boolean isSupportLanguage(String str1, String str2){ Paint newPaint = new Paint(); int len1 = (int)newPaint.measureText(str1); int len2 = (int)newPaint.measureText(str2); int minLen = len1 < len2 ? len1 : len2; if(0 >= minLen){ Log.d(TAG,"The String used for comparison is null!"); return false; } Bitmap bitmap1 = Bitmap.createBitmap(minLen,minLen, Bitmap.Config.ARGB_8888); Bitmap bitmap2 = Bitmap.createBitmap(minLen,minLen, Bitmap.Config.ARGB_8888); Canvas bitmap1Canvas = new Canvas(bitmap1); Canvas bitmap2Canvas = new Canvas(bitmap2); bitmap1Canvas.drawColor(Color.GRAY); bitmap2Canvas.drawColor(Color.GRAY); Paint mPaint = new Paint(); mPaint.setColor(Color.RED); mPaint.setStrokeWidth(1); bitmap1Canvas.drawText(str1,0,minLen/2,mPaint); bitmap2Canvas.drawText(str2,0,minLen/2,mPaint); return !bitmap1.sameAs(bitmap2); }
阅读全文
0 0
- android判断手机是否支持某种语言
- 测试android手机是否支持某种感应器
- 判断文件存储是否支持某种视图
- android 判断手机是否支持前置摄像头
- Android判断应用是否拥有某种权限
- android-判断手机是否支持相机,有几个摄像头?
- 如何判断手机是否支持OTG
- 判断手机是否支持google play服务
- android 判断是否支持闪光灯
- 判断android手机是否联网
- 判断Android手机是否联网
- 判断Android手机是否联网
- android 判断手机是否Root
- android判断手机是否root
- android判断手机是否联网
- android判断手机是否root
- android判断手机是否连网
- Android 判断手机是否root
- CSS格式化排版---第六系列
- hjr-JAVA工作日记(七):springboot-单元测试
- phantomjs的使用+Java代码+依赖js(兼容Linux和windows版本)
- Idea+Maven+Jdk+Tomcat环境搭建
- php小白初学的经验
- android判断手机是否支持某种语言
- Android Studio 插件开发
- 消息中心构架设计说明书
- Ubiquitous Religions
- Redis的基本使用
- 在JIRA中设置腾讯企业邮箱
- ARM指令集详解(超详细!带实例!)
- VUE+WebPack游戏开发:神庙逃亡的游戏设计
- nodejs修改全局安装路径