android 7图标大小,Android快捷方式位图启动器图标大小

我在为快捷方式找到正确的启动器图标大小时遇到??问题.

在我的Nexus 7.2上,android.R.dimen.app_icon_size(请参见代码)的值为96像素.

但是,如果我在主屏幕截图中测量其他应用程序的实际图标大小,则为120像素.创建快捷方式后,其大小(96像素)比所有其他应用程序图标(120像素)小

在我的Samsung Galaxy SII上,android.R.dimen.app_icon_size为72.这与我的屏幕截图尺寸匹配.

这里的结果

DisplayMetrics metrics = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(metrics);

Nexus 7.2:

android.R.dimen.app_icon_size = 96

metrics.dip = 192

metrics.density = 2.0

metrics.densityDpi = 320

metrics.heightPixels = 1824

metrics.scaledDensity = 2.0

metrics.widthPixels = 1200

metrics.xdpi = 320.842

metrics.ydpi = 322.966

三星SII:

android.R.dimen.app_icon_size = 72

metrics.dip = 108

metrics.density = 1.5

metrics.densityDpi = 240

metrics.heightPixels = 800

metrics.scaledDensity = 1.5

metrics.widthPixels = 480

metrics.xdpi = 217.71428

metrics.ydpi = 218.49463

这是我的代码:

// Calculate launcher icon size

int size = (int) getResources().getDimension(android.R.dimen.app_icon_size);

int width = size;

int height = size;

// Create launcher icon bitmap

Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);

Canvas canvas = new Canvas(bitmap);

// Inflate layout to bitmap

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.shortcut, null, false);

// here I edit layout, change ImageView and TextView etc...

layout.setDrawingCacheEnabled(true);

layout.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY));

layout.layout(0, 0, layout.getMeasuredWidth(), layout.getMeasuredHeight());

canvas.drawBitmap(layout.getDrawingCache(), 0, 0, new Paint());

// Create SendFax intent

Intent shortcutIntent = new Intent();

shortcutIntent.setClass(context, SendFax.class);

shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);

// Create shortcut intent

Intent intent = new Intent();

intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, bitmap);

intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);

intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, description);

setResult(RESULT_OK, intent);

finish();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值