前言

这里积累了一些不常见确又很实用的代码,每收集7条更新一次,希望能对大家有用。

声明

  欢迎转载,但请保留文章原始出处:) 
    博客园:http://www.cnblogs.com

    农民伯伯: http://over140.cnblogs.com

正文

1、 精确获取屏幕尺寸(例如:3.5、4.0、5.0寸屏幕)

  1.     public static double getScreenPhysicalSize(Activity ctx) {
  2.         DisplayMetrics dm = new DisplayMetrics();
  3.         ctx.getWindowManager().getDefaultDisplay().getMetrics(dm);
  4.         double diagonalPixels = Math.sqrt(Math.pow(dm.widthPixels, 2) + Math.pow(dm.heightPixels, 2));
  5.         return diagonalPixels / (160 * dm.density);
  6.     }

一般是7寸以上是平板

2、 判断是否是平板(官方用法)

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

3、 文字根据状态更改颜色 android:textColor

  1. <selector xmlns:android="http://schemas.android.com/apk/res/android">
  2.     <item android:color="#53c1bd" android:state_selected="true"/>
  3.     <item android:color="#53c1bd" android:state_focused="true"/>
  4.     <item android:color="#53c1bd" android:state_pressed="true"/>
  5.     <item android:color="#777777"/>
  6. </selector>

放在res/color/目录下

4、背景色根据状态更改颜色 android:backgroup

  1.  
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android">
  3.  
  4.     <item android:state_selected="true"><shape>
  5.             <gradient android:angle="0" android:centerColor="#00a59f" android:endColor="#00a59f" android:startColor="#00a59f" />
  6.         </shape></item>
  7.     <item android:state_focused="true"><shape>
  8.             <gradient android:angle="0" android:centerColor="#00a59f" android:endColor="#00a59f" android:startColor="#00a59f" />
  9.         </shape></item>
  10.     <item android:state_pressed="true"><shape>
  11.             <gradient android:angle="0" android:centerColor="#00a59f" android:endColor="#00a59f" android:startColor="#00a59f" />
  12.         </shape></item>
  13.     <item><shape>
  14.             <gradient android:angle="0" android:centerColor="#00ff00" android:endColor="00ff00" android:startColor="00ff00" />
  15.         </shape></item>
  16.  
  17. </selector>

如果直接给背景色color会报错。

5、 启动APK的默认Activity

  1.  
  2.     public static void startApkActivity(final Context ctx, String packageName) {
  3.         PackageManager pm = ctx.getPackageManager();
  4.         PackageInfo pi;
  5.         try {
  6.             pi = pm.getPackageInfo(packageName, 0);
  7.             Intent intent = new Intent(Intent.ACTION_MAIN, null);
  8.             intent.addCategory(Intent.CATEGORY_LAUNCHER);
  9.             intent.setPackage(pi.packageName);
  10.  
  11.             List<ResolveInfo> apps = pm.queryIntentActivities(intent, 0);
  12.  
  13.             ResolveInfo ri = apps.iterator().next();
  14.             if (ri != null) {
  15.                 String className = ri.activityInfo.name;
  16.                 intent.setComponent(new ComponentName(packageName, className));
  17.                 ctx.startActivity(intent);
  18.             }
  19.         } catch (NameNotFoundException e) {
  20.             Log.e("startActivity", e);
  21.         }
  22.     }

7、计算字宽

  1.     public static float GetTextWidth(String text, float Size) {
  2.         TextPaint FontPaint = new TextPaint();
  3.         FontPaint.setTextSize(Size);
  4.         return FontPaint.measureText(text);
  5.     }

注意如果设置了textStyle,还需要进一步设置TextPaint。

Android实用代码七段(一)的更多相关文章

  1. Android实用代码七段(五)

      前言  每次分享意味着每次都有进步,本系列以实用为主,欢迎和我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯 ...

  2. Android实用代码七段(四)

    声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 1.发送不重复的通知(Notif ...

  3. Android 实用代码七段(三)

    前言 终于又攒了一篇出来,本系列以实用为主,欢迎和我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http: ...

  4. Android 实用代码七段(一)

    前言 这里积累了一些不常见确又很实用的代码,每收集7条更新一次,希望能对大家有用. 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: htt ...

  5. Android 实用代码七段(二)

    声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 一.获取应用程序下所有Acti ...

  6. Android实用代码七段(二)

    正文 一.获取应用程序下所有Activity public static ArrayList<String> getActivities(Context ctx) {       Arra ...

  7. Android实用代码七段(三)

    正文  一.获取已经安装APK的路径 PackageManager pm = getPackageManager(); for (ApplicationInfo app : pm.getInstall ...

  8. Android 实用代码片段

    一些不常见确又很实用的代码块. 1.精确获取屏幕尺寸(例如:3.5.4.0.5.0寸屏幕) public static double getScreenPhysicalSize(Activity ct ...

  9. Android实用代码模块集锦

    1. 精确获取屏幕尺寸(例如:3.5.4.0.5.0寸屏幕) 1 2 3 4 5 6 public static double getScreenPhysicalSize(Activity ctx)  ...

随机推荐

  1. web前端开发中的浏览器兼容性总结

    1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果di ...

  2. 动态添加JS文件到页面

    /*** ** 功能: 加载外部JS文件,加载完成后执行回调函数callback ***/ var utools = { config: { id: "", url: " ...

  3. DOM操作--表格点击行变色

    点击表格行变色,这种网页效果应该还是比较常见的.大家应该看见了,我这里的效果是用DOM操作实现的,那么很多人会问什么是DOM操作,贴出代码之前我就和大家解释一下什么是DOM操作: DOM是Docume ...

  4. ria service 单元测试

    https://blogs.msdn.microsoft.com/kylemc/2011/08/18/unit-testing-a-wcf-ria-domainservice-part-1-the-i ...

  5. Hadoop_Block的几种状态_DataNode

    在Hadoop 2.0 中HDFS 引入了 append 和 hflush 功能之后, 需要为 数据块增加新的状态 来尽最大可能的保证数据的一致性. 参阅文档: http://files.cnblog ...

  6. 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 ...

  7. html-----006

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 怎样在win7上远程连接linux系统

    window操作系统的电脑 一台安装了linux系统的服务器 putty.exe小软件 方法/步骤   在前面的环境和软件都有的情况下,双击putty.exe软件,如下图:   在软件界面中的:Hos ...

  9. C++专题 - Qt是什么

    Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架.它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器.Qt是面向对象的框架,使用特殊的代码生成扩展(称 ...

  10. js Module模式

    // 创建一个立即调用的匿名函数表达式// return一个变量,其中这个变量里包含你要暴露的东西// 返回的这个变量将赋值给counter,而不是外面声明的function自身 var counte ...