首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android 10“xhdpi平板电脑启动器图标大小

android 10“xhdpi平板电脑启动器图标大小
EN

Stack Overflow用户
提问于 2013-01-25 08:00:33
回答 1查看 3K关注 0票数 0

它会动态生成快捷方式图标,所以我需要知道正确的启动器图标大小。

为了处理这个问题,我在values-ldpi/mdpi/hdpi/xhdpi/xxhdpi中创建了dimens.xml,并将我的图标大小分别定义为36/48/72/96/144px。

除了10英寸的xhdpi平板电脑(比如nexus10),这个方案是可行的。看起来这些平板电脑的启动图标尺寸是144px (xxhdpi),尽管有xhdpi屏幕。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-25 10:12:08

要获得启动器图标的大小,只需按照上面CommonsWare的建议调用ActivityManager.getLauncherLargeIconSize()即可。一个小问题是,这只在11+应用编程接口上可用。在这种情况下,退回到使用DisplayMetrics。当然,如果有一个10英寸的XHDPI设备运行android 2,这当然是失败的,这是非常不可能的(因为在Android 2的时候X*HDPI还不存在)。

代码语言:javascript
复制
@SuppressLint("NewApi")
private int getLauncherIconSize() {
    int size = 48;

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        ActivityManager mgr = (ActivityManager) activity.getSystemService(Context.ACTIVITY_SERVICE);
        size = mgr.getLauncherLargeIconSize();
    } else {
        DisplayMetrics metrics = new DisplayMetrics();
        activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
        switch (metrics.densityDpi) {
        case DisplayMetrics.DENSITY_LOW:
            size = 36;
            break;
        case DisplayMetrics.DENSITY_MEDIUM:
            size = 48;
            break;
        case DisplayMetrics.DENSITY_HIGH:
            size = 72;
            break;
        case DisplayMetrics.DENSITY_XHIGH:
            size = 96;
            break;
        case DisplayMetrics.DENSITY_XXHIGH:
            size = 144;
            break;
        }
    }

    return size;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14513102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档