Android实用代码七段(一)

标签: android 代码 | 发表时间:2012-09-26 13:24 | 作者:农民伯伯
出处:http://www.cnblogs.com/


前言

 这里积累了一些不常见确又很实用的代码,每收集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 编程代码规范

- - CSDN博客推荐文章
                学习android开发已经有很长时间了,但是有时代码却很少用规范的模式进行书写,下面就简要的总结了自己学习的代码规范. 一、关于一些常量值资源的书写规范. 颜色值有RGB和透明信息Alpha组成,以#开头, 形式有 #RGB                        #ARGB                        #RRGGBB                    #AARRGGBB.

Android Native 代码开发学习笔记

- iDesperadO - WindStorm
本文提供排版更佳的PDF版本下载. JNI,全称Java Native Interface,是用于让运行在JVM中的Java代码和运行在JVM外的Native代码(主要是C或者C++)沟通的桥梁. 代码编写者即可以使用JNI从Java的程序中调用Native代码,又可以从Native程序中调用Java代码.

[原]Android有用代码片断(六)

- - 傲慢的上校的专栏
         不知不觉中,就收集了超过95条的自己感觉有意思的代码片段,分为五篇文章: android有用代码片段、 Android有用代码片段(二)、 Android有用代码片段(三)、 Android有用代码片段(四)、. Android有用代码片段(五). 这五篇,今天,开始第六篇的整理.

Android实用代码七段(一)

- - 博客园_首页
 这里积累了一些不常见确又很实用的代码,每收集7条更新一次,希望能对大家有用.   欢迎转载,但请保留文章原始出处:) .     博客园:http://www.cnblogs.com.     农民伯伯: http://over140.cnblogs.com   . 1、精确获取屏幕尺寸(例如:3.5、4.0、5.0寸屏幕) .

Android 4.0.3 源代码已推送到 AOSP

- - 谷安——谷奥Android专题站
16日 Google 宣布了 Android 4.0.3,该版本的源码目前已经推送到 AOSP 上,这是目前最新版本的 Ice Cream Sandwich. 这是首次推送了 4 个不同的版本,包括 Motorola XOOM、 Nexus S 和两个 Galaxy Nexus 版本.

Android WebView中的JavaScript代码使用

- - 博客园_首页
  上一篇博文: Android WebView使用基础已经说了一些Android中WebView的基本使用.   本篇文章主要介绍WebView中的JavaScript代码的执行相关,已经JS代码与Android代码的互相调用.   (因为本人对Web开发并不是很熟悉,所以如果有哪些地方说得不对,还请指正.

Android代码优化小技巧总结

- - 移动开发 - ITeye博客
关注微信号:javalearns   随时随地学Java. 这篇文章主要是介绍了一些小细节的优化技巧,当这些小技巧综合使用起来的时候,对于整个Android App的性能提升还是有作用的,只是不能较大幅度的提升性能而已. 选择合适的算法与数据结构才应该是你首要考虑的因素,在这篇文章中不会涉及这方面.

Android Design Support Library的代码实验

- - 鸟窝
原文: Codelab for Android Design Support Library used in I/O Rewind Bangkok session----Make your app fancy with few lines of code. 【翻-双语】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏.

开放源代码Android平台非常不开放

- 逸川 - 牛博山寨 编辑推荐
Android可能是谷歌的移动竞争对手们的眼中钉,至少可以从最近的诉讼事件中透露出一些端倪. 但是一项新的研究显示,Android是所有开放源代码移动平台中最不开放的. 市场研究分析公司VisionMobile最近刊出了一份报告,提出了一项开放管理指标(Open Governance Index)的概念,该公司称之为“衡量软件计划的开放性的新方法”.

Android 4.0源代码在Galaxy Nexus出货后开放

- Adam - cnBeta.COM
Google 移动通讯副总裁安迪・鲁宾(Andy Rubin)在AsiaD研讨会上表示,代号为“冰淇淋三明治(Ice Cream Sandwich)”的最新版本Android 4.0系统,将在Galaxy Nexus出货之后开放源代码. 鲁宾指出,当三星的Galaxy Nexus出货之后,“冰淇淋三明治”将会在一两周内开放源代码.