为了账号安全,请及时绑定邮箱和手机立即绑定

项目框架工具类(UIUtils)

标签:
Android
/**
 * 工具类, 专门用来获取UI相关需要的参数
 * 
 * @author Kevin
 * 
 */
public class UIUtils {

public static Context getContext() {
    return BaseApplication.getContext();//BaseApplication为我们自定义的Application,里面初始化了一些静态全局变量!
}

public static int getMainThreadId() {
    return BaseApplication.getMainThreadId();
}

public static Handler getHandler() {
    return BaseApplication.getHandler();
}

/**
 * 根据id获取字符串
 */
public static String getString(int id) {
    return getContext().getResources().getString(id);
}

/**
 * 根据id获取图片
 */
public static Drawable getDrawable(int id) {
    return getContext().getResources().getDrawable(id);
}

/**
 * 根据id获取颜色值
 */
public static int getColor(int id) {
    return getContext().getResources().getColor(id);
}

/**
 * 获取颜色状态集合
 */
public static ColorStateList getColorStateList(int id) {
    return getContext().getResources().getColorStateList(id);
}

/**
 * 根据id获取尺寸
 */
public static int getDimen(int id) {
    return getContext().getResources().getDimensionPixelSize(id);
}

/**
 * 根据id获取字符串数组
 */
public static String[] getStringArray(int id) {
    return getContext().getResources().getStringArray(id);
}

/**
 * dp转px
 */
public static int dip2px(float dp) {
    float density = getContext().getResources().getDisplayMetrics().density;
    return (int) (density * dp + 0.5);
}

/**
 * px转dp
 */
public static float px2dip(float px) {
    float density = getContext().getResources().getDisplayMetrics().density;
    return px / density;
}

/**
 * 加载布局文件
 */
public static View inflate(int layoutId) {
    return View.inflate(getContext(), layoutId, null);
}

/**
 * 判断当前是否运行在主线程
 * 
 * @return
 */
public static boolean isRunOnUiThread() {
    return getMainThreadId() == android.os.Process.myTid();
}

/**
 * 保证当前的操作运行在UI主线程
 * 
 * @param runnable
 */
public static void runOnUiThread(Runnable runnable) {    
    if (isRunOnUiThread()) {
        runnable.run();
        } else {
            getHandler().post(runnable);
        }
    }
}
点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消