文档章节

收集的一些android"偏方"

铂金小狼
 铂金小狼
发布于 2013/03/12 22:26
字数 330
阅读 330
收藏 48

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);
    }

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

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

3、  文字根据状态更改颜色 android:textColor(放在res/color/目录下)

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

 4、背景色根据状态更改颜色 android:backgroup(如果直接给背景色color会报错)

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

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);
    }

 

© 著作权归作者所有

铂金小狼
粉丝 54
博文 238
码字总数 23466
作品 0
程序员
私信 提问
加载中

评论(6)

铂金小狼
铂金小狼 博主

引用来自“Davis_oschina”的评论

嗯,不错

0
铂金小狼
铂金小狼 博主

引用来自“panfanglin”的评论

别删啊,明天早上备份

晕,咋每次都喊不删呢,,
Davis_oschina
Davis_oschina
嗯,不错
Smile月光
Smile月光
别删啊,明天早上备份
铂金小狼
铂金小狼 博主

引用来自“ColdIce”的评论

沙发 收藏下 别删

哦~
Oneself丶x
Oneself丶x
沙发 收藏下 别删
js和原生应用常用的数据交互方式

场景1 在原生app中经常会使用到H5页面,比如说电商中的活动页,一些电商中的详情页,等等...这些页面都有一个特点,那就是在未来修改的可能性,和一次性的几率特别的大。所以用H5的页面是最睿...

Jamesdanner
2018/11/13
0
0
利用系统提供的崩溃日志解Native层Bug

对Android开发者来讲,尤其是使用NDK编写Native层代码的开发者,在编码过程中通常会碰到各种各样的问题。追踪问题的方式有很多,除了在代码中添加日志,来观察程序运行过程中产生的异常外,对...

shzwork
03/26
49
0
更新日志 - BugHD 与你的应用一起成长

上周 BugHD Android客户端上线了,下载地址在此,欢迎大家体验并提出反馈。本周增加 BugHD 和 fir.im 的新功能,同时也做出一些体验优化。 BugHD 新增功能 1、新增安装量、启动量的统计功能 ...

风起云飞fir_im
2015/08/24
23
0
刷新下限的Android流氓软件:即使拒绝权限申请,依旧收集你的隐私

作者丨望京一哥小智 Android App 的权限问题一直饱受诟病,许多人认为这也是其无法与 iOS 平台媲美的原因之一。日前研究人员发现,即便用户拒绝授权相关权限,上千款 Android App 仍旧可以收...

InfoQ
07/10
0
0
Android 开发者的浏览器书签

https://github.com/zhengxiaopeng/android-dev-bookmarks Android 开发者的浏览器书签,一些收集整理。欢迎 Star,PR....

rocko
2015/09/08
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 熟悉的味道,难道这就是恋爱的感觉

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :好久没分享歌了分享张碧晨的单曲《今后我与自己流浪》 《今后我与自己流浪》- 张碧晨 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
233
8
SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
19
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
11
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部