Android 实用代码七段(一)
前言
这里积累了一些不常见确又很实用的代码,每收集7条更新一次,希望能对大家有用。
声明
欢迎转载,但请保留文章原始出处:)
博客园:http://www.cnblogs.com
农民伯伯: http://over140.cnblogs.com
正文
1、精确获取屏幕尺寸(例如:3.5、4.0、5.0寸屏幕)
- public static double getScreenPhysicalSize(Activity ctx) {
- DisplayMetrics dm = new DisplayMetrics();
- ctx.getWindowManager().getDefaultDisplay().getMetrics(dm);
- double diagonalPixels = Math.sqrt(Math.pow(dm.widthPixels, 2) + Math.pow(dm.heightPixels, 2));
- return diagonalPixels / (160 * dm.density);
- }
一般是7寸以上是平板
相关文章:http://www.cnblogs.com/sishuiliuyun/archive/2013/01/08/2851630.html
2、判断是否是平板(官方用法)
- public static boolean isTablet(Context context) {
- return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE;
- }
3、文字根据状态更改颜色 android:textColor
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="#53c1bd" android:state_selected="true"/>
- <item android:color="#53c1bd" android:state_focused="true"/>
- <item android:color="#53c1bd" android:state_pressed="true"/>
- <item android:color="#777777"/>
- </selector>
放在res/color/目录下
4、背景色根据状态更改颜色 android:backgroup
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_selected="true"><shape> <gradient android:angle="0" android:centerColor="#00a59f" android:endColor="#00a59f" android:startColor="#00a59f" />
- </shape></item>
- <item android:state_focused="true"><shape>
- <gradient android:angle="0" android:centerColor="#00a59f" android:endColor="#00a59f" android:startColor="#00a59f" />
- </shape></item>
- <item android:state_pressed="true"><shape>
- <gradient android:angle="0" android:centerColor="#00a59f" android:endColor="#00a59f" android:startColor="#00a59f" />
- </shape></item>
- <item><shape>
- <gradient android:angle="0" android:centerColor="#00ff00" android:endColor="00ff00" android:startColor="00ff00" />
- </shape></item>
- </selector>
如果直接给背景色color会报错。
5、启动APK的默认Activity
- public static void startApkActivity(final Context ctx, String packageName) {
- PackageManager pm = ctx.getPackageManager();
- PackageInfo pi;
- try {
- pi = pm.getPackageInfo(packageName, 0);
- Intent intent = new Intent(Intent.ACTION_MAIN, null);
- intent.addCategory(Intent.CATEGORY_LAUNCHER);
- intent.setPackage(pi.packageName);
- List<ResolveInfo> apps = pm.queryIntentActivities(intent, 0);
- ResolveInfo ri = apps.iterator().next();
- if (ri != null) {
- String className = ri.activityInfo.name;
- intent.setComponent(new ComponentName(packageName, className));
- ctx.startActivity(intent);
- }
- } catch (NameNotFoundException e) {
- Log.e("startActivity", e);
- }
- }
7、计算字宽
- public static float GetTextWidth(String text, float Size) {
- TextPaint FontPaint = new TextPaint();
- FontPaint.setTextSize(Size);
- return FontPaint.measureText(text);
- }
注意如果设置了textStyle,还需要进一步设置TextPaint。
Android 实用代码七段(一)的更多相关文章
- Android实用代码七段(五)
前言 每次分享意味着每次都有进步,本系列以实用为主,欢迎和我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯 ...
- Android实用代码七段(四)
声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 1.发送不重复的通知(Notif ...
- Android 实用代码七段(三)
前言 终于又攒了一篇出来,本系列以实用为主,欢迎和我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http: ...
- Android实用代码七段(一)
前言 这里积累了一些不常见确又很实用的代码,每收集7条更新一次,希望能对大家有用. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: htt ...
- Android 实用代码七段(二)
声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 一.获取应用程序下所有Acti ...
- Android实用代码七段(二)
正文 一.获取应用程序下所有Activity public static ArrayList<String> getActivities(Context ctx) { Arra ...
- Android实用代码七段(三)
正文 一.获取已经安装APK的路径 PackageManager pm = getPackageManager(); for (ApplicationInfo app : pm.getInstall ...
- Android 实用代码片段
一些不常见确又很实用的代码块. 1.精确获取屏幕尺寸(例如:3.5.4.0.5.0寸屏幕) public static double getScreenPhysicalSize(Activity ct ...
- Android实用代码模块集锦
1. 精确获取屏幕尺寸(例如:3.5.4.0.5.0寸屏幕) 1 2 3 4 5 6 public static double getScreenPhysicalSize(Activity ctx) ...
随机推荐
- 1.MySQL的安装(linux Ubuntu环境下)
首先先检验一下系统中是否已经安装有mysql: deamon@deamon-H55M-S2:~$ sudo netstat -tap | grep mysql [sudo] password for ...
- PHP学习笔记——PHP脚本和JAVA连接mysql数据库
环境 开发包:appserv-win32-2.5.10 服务器:Apache2.2 数据库:phpMyAdmin 语言:php5,java 平台:windows 10 java驱动:mysql-con ...
- the evaluation period for visual studio trial edition has ended的解决方法-转发
首先献上自己收集的Visual studio 2008序列号: Visual Studio 2008 Professional Edition: XMQ2Y-4T3V6-XJ48Y-D3K2V-6C4 ...
- HPDL380G8平台11.2.0.3 RAC实施手册
HPDL380G8平台11.2.0.3 RAC实施手册 1 前言 此文档详细描述了Oracle 11gR2 数据库在HPDL380G上的安装RAC的检查及安装步骤.文档中#表示root用户执行,$ ...
- jQuery按钮复制文本内容
这种方法能保证文本内容被复制到windows剪切板,代码示例是复制url <!doctype html> <html> <head> <meta charse ...
- C#使用oledb方式将excel数据导入到datagridview后数据被截断为 255 个字符
问题描述:在使用oledb方式将excel数据导入到datagridview中,在datagridview单元格中的数据没有显示全,似乎只截取了数据源中的一段 解决方案:1.关于该问题,微软官方答案: ...
- HTML5 基础
1.HTML5 简介 HTML5 是最新的 HTML 标准,他是万维网的核心语言.标准通用标记语言下的一个应用“超文本标记语言”. HTML 的上一个标准 HTML4.01 诞生于 1999年,他的第 ...
- python实用函数
dir([obj]) 显示对象属性, 无参数显示全局变量的名字 help([obj]) 显示对象的文档字符串 int(obj) 将一个对象转换为整数 len(obj) 返回对象的长度 range([[ ...
- 字符编解码的故事 字符集 GBK GB2312 GB18030 Unicode 的由来和区别
本文为转载. 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们认为8个开关状态作为原子单位很好,于是他们把这称为"字节". 再后来 ...
- css 多行显示省略号....
CSS属性如下: white-space: nowrap; overflow: hidden; text-overflow: ellipsis;