android实用代码

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。 

 

 

转载于:https://www.cnblogs.com/pbq-dream/p/5354129.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396413.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VS2015 Cordova Ionic移动开发(五)

一、创建侧边菜单和导航项目 1.使用VS创建一个Ionic空项目&#xff0c;同时创建一个Ionic SideMenu和Ionic Tabs项目。将SideMenu和Tabs项目里的templates和js文件合并到空项目里&#xff0c;修改js对应的代码即可。完整项目工程如下&#xff1a; 2.App.js代码修改如下&#xf…

阿里大数据神预测 胜率仅5.9%中国却1:0胜韩国

写在最前面&#xff1a;这是早晨偶然看到的一篇文章&#xff0c;是对昨天中国却1&#xff1a;0胜韩国的评论。有朋友感慨&#xff1a;努力不放弃的时候&#xff0c;全世界都会帮你。这篇内容很全面的串起阿里巴巴在大数据预测方面的动作&#xff0c;角度很别致&#xff0c;分享…

Python中类、对象与self详解

先介绍一下python中的类与对象/实例。然后详细说明self。说明&#xff1a;对象等同实例&#xff0c;本文称呼不一致时请自行统一 【一】类与对象/实例 1、类 &#xff08;1&#xff09;类由名称、属性、方法三部分组成 &#xff08;2&#xff09;类是抽象模板&#xff0c;比如学…

java开发环境:还在配classpath?你out啦!

2019独角兽企业重金招聘Python工程师标准>>> 先说结论&#xff1a;只需要配置JAVA_HOME和path路径即可&#xff0c;无需配置classpath 参考Oracle官网的说明&#xff1a; The class path tells JDK tools and applications where to find third-party and user-defi…

.Net Core 商城微服务项目系列(二):使用Ocelot + Consul构建具备服务注册和发现功能的网关...

1.服务注册 在上一篇的鉴权和登录服务中分别通过NuGet引用Consul这个包&#xff0c;同时新增AppBuilderExtensions类&#xff1a; public static class AppBuilderExtensions{public static IApplicationBuilder RegisterConsul(this IApplicationBuilder app,IApplicationLife…

四参数坐标转换c++_GPSRTK坐标转换及四参数、七参数适用条件

工程测量仪器已由经纬仪、全站仪过渡到GNSS(全球卫星导航系统)&#xff0c;特别是公路行业&#xff0c;GPS-RTK作为GNSS的一种应用目前已十分普及。现阶段GPS-RTK以WGS-84 坐标系统为主流&#xff0c;所发布的星历参数也是基于此坐标系统&#xff0c;但随着北斗导航系统的逐步完…

java hadoop api_Hadoop 系列HDFS的Java API( Java API介绍)

HDFS的Java APIJava API介绍将详细介绍HDFS Java API&#xff0c;一下节再演示更多应用。Java API 官网如上图所示&#xff0c;Java API页面分为了三部分&#xff0c;左上角是包(Packages)窗口&#xff0c;左下角是所有类(All Classes是)窗口&#xff0c;右侧是详情窗口。这里推…

最大连通子数组

这次是求联通子数组的求和&#xff0c;我们想用图的某些算法&#xff0c;比如迪杰斯特拉等&#xff0c;但是遇到了困难。用BFS搜索能达到要求&#xff0c;但是还未能成功。 那么我们这样想&#xff0c;先将每行的最大子数组之和&#xff0c;然后再将这些最大之和组成一个数组&a…

[Matlab] 画图命令

matlab画图命令&#xff0c;不定时更新以便查找 set(gcf, color, [1 1 1]);     % 使图背景为白色 alpha(0.4);           %设置平面透明度 plot(Circle1,Circle2,k--,linewidth,1.25);  % k--设置线型  ‘linewidth’,1.25  设置线宽度为1.25 %线型   …

终端terminal的颜色配置

PS1 color 终端terminal的颜色配置 PS1"\[\e[92;1m\][\u\e[90;5m\e[25m\[\e[91;4m\]Atlas\e[24m\[\e[1m\]\[\e[92;1m\] \W ]\\$\[\e[0m\]" Set CodeDescriptionExamplePreview1Bold/Bright echo -e "Normal \e[1mBold" 2Dim echo -e "Normal \e[2mDi…

Linux Kernel Oops异常分析

0&#xff0e;linux内核异常常用分析方法 异常地址是否在0附近&#xff0c;确认是否是空指针解引用问题异常地址是否在iomem映射区&#xff0c;确认是否是设备访问总线异常问题&#xff0c;如PCI异常导致的地址访问异常异常地址是否在stack附近&#xff0c;如果相邻&#xff0c…

【懒癌发作】收集各种懒癌发作时用程序写作业的程序

updata:20170621 好的&#xff0c;已经是准高一了&#xff0c;现在看起来太蠢了。。。 -------------------------------------------------------------------------------------- 要真正的运用&#xff0c;程序一定是要来解决实际问题的——比如作业&#xff08;懒就直说&…

50欧姆线设计 高频pcb_硬件设计基础100问(三)

硬件基础知识问答今天依旧是节前知识储备哦&#xff0c;jacky大神整理的硬件基础知识很细致&#xff0c;第三弹学起来&#xff01;01 1、晶体管基本放大电路有共射、共集、共基三种接法&#xff0c;请简述这三种基本放大电路的特点。共射&#xff1a;共射放大电路具有放大电流和…

java操作文件爱女_Java的IO操作---File类

目标1)掌握File类作用2)可以使用file类中方法对文件进行读写操作。File类唯一与文件有关的类。使用file类可进行创建或删除操作&#xff0c;要想使用File类&#xff0c;首先观察File类的构造方法。public File(String pathname);实例化File类的时候&#xff0c;必须设置好路径。…

openssl创建私有ca

openssl创建私有ca1.ssl大概内容PKI&#xff1a;公钥基础设施结构CA&#xff1a;证书权威机构&#xff0c;PKI的核心CRL&#xff1a;证书吊销列表,使用证书之前需要检测证书有效性证书存储格式常见的X509格式包含内容 公钥有效期限证书的合法拥有人证书该如何使用CA的信息CA签名…

查询显示注释_SQL的简单查询

1.基本的查询语句-- *代表查询所有的列select * from <表名>;distinct表示列中不包括重复的值&#xff0c;例如select distinct 姓名&#xff1b;如果是select distinct 姓名,学号&#xff1b;则表示姓名和学号都重复的值才会显示。as为列设定别名&#xff0c;例如select…

【AC自动机】【数据结构】【树】【Aho-Corasick automation】AC自动机理解(入门)...

引入 我们首先提出一个问题&#xff1a; 给出n个串每个串的长度≤m 然后给出一个长度为k的串&#xff0c;询问前n个串中有多少个是匹配成了的 暴力搜索 这题不是sb题目吗&#xff1f; 随随便便O(kmn)跑过。 。。。。 n10000 m50 k1000000 。。。。 好吧——我们用AC自动…

java 栈空间_初学JAVA——栈空间堆空间的理解

1.Person pangzi; //这是在“开拓空间”于栈空间pangzinew Person(); //这是赋值于堆空间上两步就是在做与空间对应的事。2.值类型直接存入栈空间&#xff0c;如AF&#xff0c;引用类型存入堆空间&#xff0c;在栈空间存有“索引地址”&#xff0c;如当需要B时&#xff0…

jmeter+maven+jenkins自动化接口测试(下)

mavenjmeter已经写好了&#xff0c;可以通过maven来执行jmeter的接口测试脚本&#xff0c;怎样实现定时执行测试并发送报告邮件就需要通过jenkins了&#xff08;jmeter或者testng也可以结合不同的邮件jar包来发送邮件&#xff0c;这里使用jenkins&#xff09; 安装jenkins笔记有…

Android RecyclerView (一) 使用完全解析

转载请标明出处&#xff1a; http://blog.csdn.net/lmj623565791/article/details/45059587&#xff1b; 本文出自:【张鸿洋的博客】 概述 RecyclerView出现已经有一段时间了&#xff0c;相信大家肯定不陌生了&#xff0c;大家可以通过导入support-v7对其进行使用。 据官方的…