• dp和px转换


    在编写自定义view的时候,通常会在onTouchEvent回调方法中进行一些关乎距离的判断逻辑,这里的距离常量如果适配到多分辨率的不同设备上时可能会出现一些错乱的问题。

    所以一般来说,常常需要dp到Px的转换操作,常用的方法如下:

    1. 定义常量,仅仅是个数字,但是隐含的单位为dp

    2. 在使用该常量的时候,不是直接用常量的数字,而是先转换成px单位再使用

    这样子就可以适配多分辨率了。

    以下提供dp和px之间互换的方法:

    public class DensityUtil {
    
    
        public static int dp2px(Context context, float value){
            final float scale = context.getResources().getDisplayMetrics().density;
            return (int)(value * scale + 0.5f);
        }
        
        public static int px2dp(Context context, float value){
            final float scale = context.getResources().getDisplayMetrics().density;
            return (int)(value / scale + 0.5f);
        }
    
    }
  • 相关阅读:
    js上移、下移排序 效果
    如何为平板打造完美的网站页面?
    [BUUOJ]刮开有奖reverse
    [0CTF 2016]piapiapia
    [TSCTFJ 2019]bypass
    [安洵杯 2019]easy_serialize_php
    [TSCTFJ] relax
    c#访问网页
    DNN 数据访问
    c#访问数据库
  • 原文地址:https://www.cnblogs.com/soaringEveryday/p/4479079.html
Copyright © 2020-2023  润新知