前言

这里积累了一些不常见确又很实用的代码,每收集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寸以上是平板

相关文章:http://www.cnblogs.com/sishuiliuyun/archive/2013/01/08/2851630.html

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

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

5、启动APK的默认Activity

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

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. 1.MySQL的安装(linux Ubuntu环境下)

    首先先检验一下系统中是否已经安装有mysql: deamon@deamon-H55M-S2:~$ sudo netstat -tap | grep mysql [sudo] password for ...

  2. PHP学习笔记——PHP脚本和JAVA连接mysql数据库

    环境 开发包:appserv-win32-2.5.10 服务器:Apache2.2 数据库:phpMyAdmin 语言:php5,java 平台:windows 10 java驱动:mysql-con ...

  3. the evaluation period for visual studio trial edition has ended的解决方法-转发

    首先献上自己收集的Visual studio 2008序列号: Visual Studio 2008 Professional Edition: XMQ2Y-4T3V6-XJ48Y-D3K2V-6C4 ...

  4. HPDL380G8平台11.2.0.3 RAC实施手册

    HPDL380G8平台11.2.0.3 RAC实施手册   1 前言 此文档详细描述了Oracle 11gR2 数据库在HPDL380G上的安装RAC的检查及安装步骤.文档中#表示root用户执行,$ ...

  5. jQuery按钮复制文本内容

    这种方法能保证文本内容被复制到windows剪切板,代码示例是复制url <!doctype html> <html> <head> <meta charse ...

  6. C#使用oledb方式将excel数据导入到datagridview后数据被截断为 255 个字符

    问题描述:在使用oledb方式将excel数据导入到datagridview中,在datagridview单元格中的数据没有显示全,似乎只截取了数据源中的一段 解决方案:1.关于该问题,微软官方答案: ...

  7. HTML5 基础

    1.HTML5 简介 HTML5 是最新的 HTML 标准,他是万维网的核心语言.标准通用标记语言下的一个应用“超文本标记语言”. HTML 的上一个标准 HTML4.01 诞生于 1999年,他的第 ...

  8. python实用函数

    dir([obj]) 显示对象属性, 无参数显示全局变量的名字 help([obj]) 显示对象的文档字符串 int(obj) 将一个对象转换为整数 len(obj) 返回对象的长度 range([[ ...

  9. 字符编解码的故事 字符集 GBK GB2312 GB18030 Unicode 的由来和区别

    本文为转载. 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们认为8个开关状态作为原子单位很好,于是他们把这称为"字节". 再后来 ...

  10. css 多行显示省略号....

    CSS属性如下: white-space: nowrap; overflow: hidden; text-overflow: ellipsis;