专门提供为处理一些UI相关的问题而创建的工具类
来源:互联网 发布:javascript分割字符串 编辑:程序博客网 时间:2024/06/14 22:21
/** * 专门提供为处理一些UI相关的问题而创建的工具类, * 提供资源获取的通用方法,避免每次都写重复的代码获取结果。 */
public class UIUtils {public static Context getContext() { return MyApplication.context;}public static Handler getHandler() { return MyApplication.handler;}//返回指定colorId对应的颜色值public static int getColor(int colorId) { return getContext().getResources().getColor(colorId);}//加载指定viewId的视图对象,并返回public static View getView(int viewId) { View view = View.inflate(getContext(), viewId, null); return view;}public static String[] getStringArr(int strArrId) { String[] stringArray = getContext().getResources().getStringArray(strArrId); return stringArray;}//将dp转化为pxpublic static int dp2px(int dp) { //获取手机密度 float density = getContext().getResources().getDisplayMetrics().density; return (int) (dp * density + 0.5);//实现四舍五入}public static int px2dp(int px) { //获取手机密度 float density = getContext().getResources().getDisplayMetrics().density; return (int) (px / density + 0.5);//实现四舍五入}/** * 保证运行在主线程 * */public static void runOnUiThread(Runnable runnable) { if (isMainThread()) { runnable.run(); } else { UIUtils.getHandler().post(runnable); }}//判断当前线程是否是主线程private static boolean isMainThread() { int currentThread = Process.myTid(); return currentThread == MyApplication.mainThreadId;// mainThreadId = android.os.Process.myTid()}
MyApplication类 public class MyApplication extends Application {
//在整个应用执行过程中,需要提供的变量public static Context context;//需要使用的上下文对象public static Handler handler;//需要使用的handlerpublic static Thread mainThread;//提供主线程对象public static int mainThreadId;//提供主线程对象的id@Overridepublic void onCreate() { super.onCreate(); context = this.getApplicationContext(); handler = new Handler(); mainThread = Thread.currentThread();//实例化当前Application的线程即为主线程 mainThreadId = android.os.Process.myTid();//获取当前线程的id }}
阅读全文
0 0
- 专门提供为处理一些UI相关的问题而创建的工具类
- Android工具类之字符串工具类,提供一些字符串相关的便捷方法
- String框架提供的一些工具类
- 专门访问和设置SharePreference的工具类, 保存和配置一些设置信息
- 专门为了面试而学的 Java
- BT——专门为大容量文件的共享而设计的网络协议
- 力推一个php的框架,专门为API开发而生的
- 专门为PB,VB程序获取本机IP而制作的动态库
- 安装ehlib,专门为我修改的ehlib5.6 for xe2而写
- 24款免费为iPad开发者提供的UI工具推荐
- 一个专门用于文件下载的类。实现文件下载时流量等相关信息的处理。
- Android UI画面显示问题需要给mtk提供的相关资讯?
- java5中为多线程提供的同步工具类
- 为大家提供一个好的时间工具类DateTime
- 为大家提供一个好的时间工具类DateTime
- Java 数字的相关处理工具类
- net Framework 2.0 专门提供了配置文件的操作
- .net Framework 2.0 专门提供了配置文件的操作。
- Activity中所有Activity的栈处理
- Vivado 不要在tcl command line 输入系统指令
- Hdoj 2006 求奇数的乘积
- android 全面屏适配方案
- spark SQL (一)初识 ,简介
- 专门提供为处理一些UI相关的问题而创建的工具类
- python相关网站
- vue-父子组件间的相互传值与传址
- leetcode 682. Baseball Game
- 基于累加的PDM算法的原理
- Yii2实用基础学习笔记(四):模型验证
- EntityTransaction
- GIT与码云
- 用C语言开发一个BT下载软件(一) ------ BitTorrent协议 -2