加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Android分辨率处理工具类

发布时间:2020-12-15 00:23:44 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 public class DensityUtil { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context,float dpValue) { f

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

public class DensityUtil {    
  
  
    /**  
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)  
     */    
    public static int dip2px(Context context,float dpValue) {    
        final float scale = context.getResources().getDisplayMetrics().density;    
        return (int) (dpValue * scale + 0.5f);    
    }    
  
  
    /**  
     * 根据手机的分辨率从 px(像素) 的单位 转成为 dp  
     */    
    public static int px2dip(Context context,float pxValue) {    
        final float scale = context.getResources().getDisplayMetrics().density;    
        return (int) (pxValue / scale + 0.5f);    
    }    
    /** 
     * 将px值转换为sp值,保证文字大小不变 
     *  
     * @param pxValue 
     * @param fontScale(DisplayMetrics类中属性scaledDensity) 
     * @return 
     */  
    public static int px2sp(float pxValue,float fontScale) {  
     return (int) (pxValue / fontScale + 0.5f);  
    }  
  
  
    /** 
     * 将sp值转换为px值,保证文字大小不变 
     *  
     * @param spValue 
     * @param fontScale(DisplayMetrics类中属性scaledDensity) 
     * @return 
     */  
    public static int sp2px(float spValue,float fontScale) {  
     return (int) (spValue * fontScale + 0.5f);  
    }  
      
     
    /** 
     * 获得屏幕密度 
     * @param context 
     * @return 
     */  
    public static int getScreenDensityDpi(Activity context) {  
    DisplayMetrics metric = new DisplayMetrics();  
    context.getWindowManager().getDefaultDisplay().getMetrics(metric);  
    int density = metric.densityDpi;   
    CLog.d("DensityUtil density=",density+"");  
    return density;  
    }  
      
    /** 
     * 获得屏幕高度 
     * @param context 
     * @return 
     */  
    public static int getScreenHeight(Activity context) {  
    DisplayMetrics metric = new DisplayMetrics();  
    context.getWindowManager().getDefaultDisplay().getMetrics(metric);  
    int screenHeight = metric.heightPixels;   
    CLog.d("DensityUtil screenHight=",screenHeight+"");  
    return screenHeight;  
    }  
      
    /** 
     * 获得屏幕宽度 
     * @param context 
     * @return 
     */  
    public static int getScreenWidth(Activity context) {  
    DisplayMetrics metric = new DisplayMetrics();  
    context.getWindowManager().getDefaultDisplay().getMetrics(metric);  
    int screenWidth = metric.widthPixels;   
    CLog.d("DensityUtil screenWidth=",screenWidth+"");  
    return screenWidth;  
    }  
      
      
    /** 
* 返回状态栏/通知栏的高度 
*  
* @param activity 
* @return 
*/  
public static int getStatusHeight(Activity activity) {  
Rect frame = new Rect();  
activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);  
int statusBarHeight = frame.top;  
return statusBarHeight;  
}  
      
     
}    

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读