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,一经查实,立即删除!

相关文章

mysql 全文本检索的列_排序数据列以检索MySQL中的最大文本值

为此&#xff0c;您可以将ORDER BY与一些聚合函数right()一起使用。让我们首先创建一个表-create table DemoTable1487-> (-> StudentCode text-> );使用插入命令在表中插入一些记录-insert into DemoTable1487 values(560);insert into DemoTable1487 values(789);in…

关于长寿_FreeCodeCamp可以帮助您更长寿

关于长寿by Christopher Phillips克里斯托弗菲利普斯(Christopher Phillips) 免费代码营可能帮助您长寿 (Free Code Camp Might Help You Live Longer) Since I started my web development journey with Free Code Camp, I’ve felt more awake, more alert, and able to pro…

python世界你好的输出便携电源适配器_65W PD输出,Thinkplus USB-C便携电源适配器(PA65)开箱评测...

包装盒底盖面为红色&#xff0c;标注了产品的相关参数&#xff1a;型号&#xff1a;PA65&#xff1b;输入&#xff1a;100V-240V~50/60Hz 1.5A&#xff1b;输出&#xff1a;5V/3A、9V/3A、12V/3A、15V/3A、20V/3.25A&#xff1b;制造商&#xff1a;南京博兰得电子科技有限公司&…

归并排序与逆序对

在刷题的过程中碰到了关于无序序列的逆序对统计的问题。 直接暴力会超时&#xff0c;然后搜索了一下算法&#xff0c;发现可以通过归并排序的思想来做到这个统计的过程。看代码的时候&#xff0c;不知道自己的理解力不够还是不熟悉别人的代码&#xff0c;反正是看不懂。无奈之下…

c#获取pdf文件页数

引用命名空间&#xff1a;using iTextSharp.text.pdf; string filePath Server.MapPath("/upload/123.pdf"); //文件的物理路径PdfReader reader new PdfReader(filePath);int iPageNum reader.NumberOfPages; //文件页数reader.Close();Response.Write("文件…

VS2015 Cordova Ionic移动开发(五)

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

最佳适应算法和最坏适应算法_算法:好,坏和丑陋

最佳适应算法和最坏适应算法by Evaristo Caraballo通过Evaristo Caraballo 算法&#xff1a;好&#xff0c;坏和丑陋 (Algorithms: The Good, The Bad and The Ugly) Who has been in Free Code Camp without having the experience of spending hours trying to solve Algori…

mysql条件触发器实例_mysql触发器实例一则

例子&#xff0c;实例学习mysql触发器的用法。一&#xff0c;准备二张测试表&#xff1a;1&#xff0c;测试表1复制代码 代码示例:DROP TABLE IF EXISTS test;CREATE TABLE test (id bigint(11) unsigned NOT NULL AUTO_INCREMENT,name varchar(100) NOT NUL…

阿里大数据神预测 胜率仅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;比如学…

面试题28 字符串排列

题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 1 cla…

javascript 框架_克服JavaScript框架疲劳

javascript 框架by Tero Parviainen通过Tero Parviainen 克服JavaScript框架疲劳 (Overcoming JavaScript Framework Fatigue) The JavaScript community is suffering from a wave of framework fatigue. It’s caused by the massive outpouring of new frameworks, techniq…

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…

qpython3可以调用哪些库_Python3 如何使用asyncio库在调用第三方模块(存在IO等待)的情况下实现协程?...

问题描述demo中有一个 task_check 的模块,底层是用urllib实现,请问如果要实现使用 asyncio 库实现协程操作,需要修改这个模块的底层代码吗?如何修改? 往大佬指点问题出现的环境背景及自己尝试过哪些方法平时都是使用 gevent 库和 monkey.patch_all() 实现协程,但发现 gevent …

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

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

java打印数组_Java中打印数组内容的方式有哪些?

下面是几种常见的打印方式。方法一&#xff1a;使用循环打印。public class Demo {public static void main(String[] args) {String[] infos new String[] {"Java", "Android", "C/C", "Kotlin"};StringBuffer strBuffer new Strin…

$(function() {})

$(function() {});是$(document).ready(function(){ })的简写&#xff0c; 最早接触的时候也说$(document).ready(function(){ })这个函数是用来取代页面中的window.onload; 用来在DOM加载完成之后执行一系列预先定义好的函数。

恢复工具

EasyRecovery http://www.upantool.com/hfxf/huifu/2011/EasyRecovery_V6.22.html转载于:https://www.cnblogs.com/cb168/p/5359133.html

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

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

教主的魔法

传送门 这道题序列很长&#xff0c;但是操作数很少&#xff0c;然后也没想到什么好的数据结构来维护&#xff0c;那就分块吧。 感觉维护的过程很好想&#xff0c;修改的时候对于整个块都在内的直接打标记&#xff0c;两个零散的区间暴力重构&#xff0c;重新排序。查询的时候&a…