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寸以上是平板
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) ...
随机推荐
- web前端开发中的浏览器兼容性总结
1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果di ...
- 动态添加JS文件到页面
/*** ** 功能: 加载外部JS文件,加载完成后执行回调函数callback ***/ var utools = { config: { id: "", url: " ...
- DOM操作--表格点击行变色
点击表格行变色,这种网页效果应该还是比较常见的.大家应该看见了,我这里的效果是用DOM操作实现的,那么很多人会问什么是DOM操作,贴出代码之前我就和大家解释一下什么是DOM操作: DOM是Docume ...
- ria service 单元测试
https://blogs.msdn.microsoft.com/kylemc/2011/08/18/unit-testing-a-wcf-ria-domainservice-part-1-the-i ...
- Hadoop_Block的几种状态_DataNode
在Hadoop 2.0 中HDFS 引入了 append 和 hflush 功能之后, 需要为 数据块增加新的状态 来尽最大可能的保证数据的一致性. 参阅文档: http://files.cnblog ...
- ubuntu 12.04安装redis2.6.16
1.下载源文件并安装 登录 http://www.redis.io/download 下载redis-2.6.16.tar.gz tar -zxf redis-2.6.16.tar.gz cd red ...
- html-----006
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 怎样在win7上远程连接linux系统
window操作系统的电脑 一台安装了linux系统的服务器 putty.exe小软件 方法/步骤 在前面的环境和软件都有的情况下,双击putty.exe软件,如下图: 在软件界面中的:Hos ...
- C++专题 - Qt是什么
Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架.它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器.Qt是面向对象的框架,使用特殊的代码生成扩展(称 ...
- js Module模式
// 创建一个立即调用的匿名函数表达式// return一个变量,其中这个变量里包含你要暴露的东西// 返回的这个变量将赋值给counter,而不是外面声明的function自身 var counte ...