博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android实用代码七段(一)
阅读量:5906 次
发布时间:2019-06-19

本文共 2812 字,大约阅读时间需要 9 分钟。

前言

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

 

 

 

 

转载于:https://www.cnblogs.com/over140/archive/2012/09/26/2611999.html

你可能感兴趣的文章
cm hue 无法连接mysql,hue查询hive连接数升高,之后无法继续提交查询
查看>>
java 项目 人力资源项目,基于jsp的人力资源系统-JavaEE实现人力资源系统 - java项目源码...
查看>>
php阿拉伯语字符串,按字母顺序命名阿拉伯语名称Mysql和php
查看>>
matlab最佳拟合的指标是什么意思,Matlab拟合好坏常用指标
查看>>
matlab保存并关闭excel文件夹,[转载]Matlab批量操作目标文件夹下的Excel文件
查看>>
matlab数字图像处理函数,MATLAB数字图像处理学习(二)|常用函数
查看>>
错误请联系管理员文件 index.php,帝国CMS订单、反馈信息、投稿与留言发邮件通知管理员的方法...
查看>>
小米笔记本装linux教程视频教程,Archlinux安装指南~小米笔记本Air 13.3英寸版本
查看>>
linux卸载nomachine,NoMachine 安装与配置及使用
查看>>
c语言入门经典第五版自学,Beginning C, 5th Edition(2013)[C语言入门经典 第5版
查看>>
angularjs html 缓存,如何删除使用AngularJS的HTML中的浏览器缓存?
查看>>
dede列表页if判断输出html,首页、列表页调用文章body内容的两种方法
查看>>
IT人士还是要善待自己
查看>>
复制或保存结果时包括列标题
查看>>
Forefront_TMG_2010-TMG发布Web服务器
查看>>
演示:在windows不同版本操作系统的计算机上安装IPv6协议与基本配置
查看>>
企业shell常见面试题及企业实战案例深入浅出讲解
查看>>
Load Test
查看>>
美文共赏
查看>>
RHEL6入门系列之十七,打包与压缩
查看>>