`

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。 

分享到:
评论
1 楼 Sassoon 2013-04-11  
很细心,    

相关推荐

    Android开发之旅 完整版pdf

    作者:吴秦 ...本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名吴秦(包含链接). • Android 开发之旅:环境...• Android开发之旅: Intents和Intent Filters(理论部分)

    Android开发指南中文版

    Android开发指南中文版 转载Android开发指南中文版

    Android快速开发不可或缺的11个工具类

    别处转载来的→Android快速开发不可或缺的11个工具类

    【Android FFMPEG 开发】博客资源_2020_02_20_1

    【Android FFMPEG 开发】Android Studio 工程配置 FFMPEG ( 动态库打包 | 头文件与函数库拷贝 | CMake 脚本配置 ) 博客地址 : https://hanshuliang.blog.csdn.net/article/details/104367747 I . FFMPEG 交叉...

    Android 开发入门 —— 环境搭建

    Android 开发入门 环境搭建 环境配置 对于想了解 或者想开始学习android的朋友有用 转载

    【转载】android开发—百度地图

    基于android整个百度地图开发流程,一个文档,一个是要的数据包。 转自eoeAndroid开发社区: http://www.eoeandroid.com/thread-260537-1-1.html

    ANDROID应用开发范例大全-高清版-带详细目录书签-可跳转 PDF

    ANDROID应用开发范例大全-高清版-带详细目录书签-可跳转 PDF 本资源转载自网络,供学习研究之用,如用于商业用途,请购买正版,如有侵权,请联系我或CSDN删除。

    Android自定义中国象棋

    Android自定义中国象棋,原创-------转载注明出处; Android自定义中国象棋,原创-------转载注明出处; Android自定义中国象棋,原创-------转载注明出处; Android自定义中国象棋,原创-------转载注明出处; ...

    android开发之NDK演练

    网络上其实有很多类似的教程,但是大多数是只讲解...这篇文章的内容贯穿了所有ndk相关的东西,以及必需的系统环境和android开发环境,因此对于android开发者来说,也许不够深入,但是会比较实用。(欢迎转载,欢迎讨论)

    android开发环境搭建完全指南

    本人花了一下午的时间进行配置和测试,基本证明了本文档的正确性。该文档讲解详细,附带安装文件的下载地址,图解,以及环境搭建成功后的一个小测试代码。。。如有转载请注明原作者。

    Android_开发指南中文版-带目录书签 pdf

    本资源转载自网络,供学习研究之用,如用于商业用途,请购买正版,如有侵权,请联系我或CSDN删除。

    Android Development with Kotlin epub

    Android Development with Kotlin 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    android jni开发实例

    转载几篇介绍android jni开发方法的文章,有介绍基础的,有介绍方法的,也有实例可参考。

    android小钢琴程序

    android小钢琴程序,转载的

    android画图板示例程序

    android平台画图板程序,可画图可擦除绘图功能实现,通过自定义View实现,转载请注明出处!

    Android 开发指南

    本章内容为开发者指南(Dev Guide)/...如果是在Eclipse并且安装了ADT插件的环境下开发Android应用程序,就不需要从命令行使用adb了,ADT插件已经提供了透明的集成。不过,还是可以在调试等需要的时候直接使用adb。

    Android Development with Kotlin_Code 源码

    Android Development with Kotlin_Code 源码 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    android qq农场

    [转载]android qq农场 花了两个多星期,QQ农场Android手机版正式出来了。 可以去这里下载这个安装包。 主要功能: 1. 偷菜、收获; 2. 帮忙:浇水、除草、杀虫; 3. 一键扫描功能,只需一个操作,就可以扫描...

    Android和php开发最佳实践1

    Android和php开发最佳实践,转载的,有经济条件还是支持作者购买实体书

    精通ANDROID实例开发-高清版-带详细目录书签-可跳转 PDF

    精通ANDROID实例开发-高清版-带详细目录书签-可跳转 PDF 本资源转载自网络,供学习研究之用,如用于商业用途,请购买正版,如有侵权,请联系我或CSDN删除。

Global site tag (gtag.js) - Google Analytics