公共代码参考(TypedValue)

package com.fredric.util;

import android.content.Context;
import android.util.TypedValue;

/*-
 * 像素转换相关
 * COMPLEX_UNIT_PX:像素
 * COMPLEX_UNIT_DIP:设备独立像素(与硬件设备无关)
 * COMPLEX_UNIT_PT:标准长度单位1/72英寸
 * COMPLEX_UNIT_IN:英寸
 * COMPLEX_UNIT_MM:毫米
 * Google建议:
 * 像素类的采用DIP,字体大小类的采用PX
 */
public class DensityUtils {

    /*-
     * dp2px
     * 像素密度 = 分辨率/尺寸
     * 将dip转换为pixel,应用场景如:
     * setPadding 方法的单位是pixel,需要做转换
     */
    public static int dp2px(Context context, float dp){

        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
            dp, context.getResources().getDisplayMetrics());
    }

    /*-
     * px2dp
     */
    public static float px2dp(Context context, float pxVal){
        //获取屏幕密度
       final float scale = context.getResources().getDisplayMetrics().density;
       return (pxVal / scale);
    }
}
时间: 2024-11-05 16:05:06

公共代码参考(TypedValue)的相关文章

公共代码参考(Volley)

Volley 是google提供的一个网络库,相对于自己写httpclient确实方便很多,本文参考部分网上例子整理如下,以作备忘: 定义一个缓存类: public class BitmapCache implements ImageCache { private LruCache<String, Bitmap> cache; public BitmapCache() { /*LruCache使用一个LinkedHashMap简单的实现内存的缓存, 没有软引用,都是强引用.如果添加的数据大于设

公共代码参考(httpclient)

public class HttpClientUtils { private static final String CHARSET = "UTF-8"; /* * http get请求 * * @param url * * @param params * * @return */ public static String httpGet(String url, Map<String, String> params) { if (true == StringUtils.is

公共代码参考(ConnectivityManager)

package com.fredric.util; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.NetworkInfo.State; /*- * 网络工具类 */ public class NetUtils { //判断网络是否连接 public static boolean isConnecte

公共代码参考(SDCard)

package com.fredric.util; /*- * SD卡操作的工具类封装 */ import java.io.File; import android.os.Environment; import android.os.StatFs; public class SDCardUtils { //判断SA卡是否被正常加载 //Environment是android一个访问环境变量的类 //MEDIA_MOUNTED SD卡正常挂载 //MEDIA_REMOVED 无介质 //MEDIA

公共代码参考(SQLiteOpenHelper)

package com.fredric.util; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android

公共代码参考(DisplayMetrics)

package com.fredric.util; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.util.DisplayMetrics; import android.view.View; import android.view.WindowManager; /*- * 屏幕交互类封装 */ public class Scre

公共代码参考(PackageManager)

package com.fredric.util; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; /*- * APP辅助类 */ public class AppUtils { //获取APP

通达OA公共代码 php常用检测函数

通达OA公共代码 php常用检测函数 从通达OA公共代码扒下的php常用检测函数代码,学习php的朋友可以参考下. check_type.php(使用类型检验函数) 复制代码 代码如下: <?php /*********************/ /* */ /* Version : 5.1.0 */ /* Author : RM */ /* Comment : 071223 */ /* */ /*********************/ function is_number( $str )

如何在vuejs中抽出公共代码

当我们在使用vue构建中大型项目时,通常会遇到某些经常用的方法以及属性,比如说搭建一个员工管理系统,请求的url需要一个共同的前缀,或者在某几个view中需要用到时间,这个时间是通过某方法格式化之后的等等,如果每次用到都写共同的代码,那样如果之后有变动的话维护起来会非常麻烦. 所以我们就得想办法抽出公共代码,因为vue是组件化开发,我们就会很自然的与es6的module模块化联系到一起.其实当我们在搭建项目结构时就应该先提前埋下伏笔,有一个util文件夹,里面放的就是我们要写的公共代码,其实很多