ActivityManager(8)—getLauncherLargeIconSize ()

ActivityManager:getLauncherLargeIconSize ()

1.作用

用于获取Lancher启动器的图标大小,返回值是int类型尺寸。

2.源码

public int getLauncherLargeIconSize() {
    return getLauncherLargeIconSizeInner(mContext);
}
static int getLauncherLargeIconSizeInner(Context context) {
    final Resources res = context.getResources();
    final int size = res.getDimensionPixelSize(android.R.dimen.app_icon_size);
    final int sw = res.getConfiguration().smallestScreenWidthDp;
    if (sw < 600) {
        return size;
    }
    final int density = res.getDisplayMetrics().densityDpi;
    switch (density) {
        case DisplayMetrics.DENSITY_LOW:
            return (size * DisplayMetrics.DENSITY_MEDIUM) / DisplayMetrics.DENSITY_LOW;
        case DisplayMetrics.DENSITY_MEDIUM:
            return (size * DisplayMetrics.DENSITY_HIGH) / DisplayMetrics.DENSITY_MEDIUM;
        case DisplayMetrics.DENSITY_TV:
            return (size * DisplayMetrics.DENSITY_XHIGH) / DisplayMetrics.DENSITY_HIGH;
        case DisplayMetrics.DENSITY_HIGH:
            return (size * DisplayMetrics.DENSITY_XHIGH) / DisplayMetrics.DENSITY_HIGH;
        case DisplayMetrics.DENSITY_XHIGH:
            return (size * DisplayMetrics.DENSITY_XXHIGH) / DisplayMetrics.DENSITY_XHIGH;
        case DisplayMetrics.DENSITY_XXHIGH:
            return (size * DisplayMetrics.DENSITY_XHIGH*2) / DisplayMetrics.DENSITY_XXHIGH;
        default:
            return (int)((size*1.5f) + .5f);
    }
}

3.分析及说明

DislayMetrics是一个用于描述结构化信息的展示,例如如大小、密度和字体缩放等等;
DisplayMetrics.DENSITY_LOW:低像素密度屏幕(像素密度:120)
DisplayMetrics.DENSITY_MEDIUM:中像素密度屏幕(像素密度:160)
DisplayMetrics.DENSITY_TV:电视像素密度屏幕(像素密度:213)
DisplayMetrics.DENSITY_HIGH:高像素密度屏幕(像素密度:240)
DisplayMetrics.DENSITY_XHIGH:X高像素密度屏幕(像素密度:280)
DisplayMetrics.DENSITY_XXHIGH:XX高像素密度屏幕(像素密度:320)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值