android 推送图标大小,android – GCM推送通知大图标大小

我有同样的问题.这是我如何解决的:

首先,您需要知道通知图标的最大尺寸,具体取决于设备分辨率.搜索,我发现这个:

> ldpi:48×48 px * 0.75

> mdpi:64×64 px * 1.00

> hdpi:96×96 px * 1.50

> xhdpi:128×128 px * 2.00

> xxhdpi:192×192 px * 3.00

有两种方法:

>一个在服务器中具有这些维度的一组图像,并根据您的设备分辨率获得它们.

>另一个在服务器中具有较大的图像,并根据您的设备分辨率在应用程序中调整其大小.

我会向你解释我实施的第二个.

首先从URL获取图像我使用它:

public Bitmap getBitmapFromURL(String strURL) {

try {

URL url = new URL(strURL);

HttpURLConnection connection = (HttpURLConnection) url.openConnection();

connection.setDoInput(true);

connection.connect();

InputStream input = connection.getInputStream();

Bitmap myBitmap = BitmapFactory.decodeStream(input);

return myBitmap;

} catch (IOException e) {

e.printStackTrace();

return null;

}

}

然后我需要知道新图像大小的因素.我知道在服务器上我的xxhdpi图像的因子为* 3.00,我用它来获得全局因子:

public static float getImageFactor(Resources r){

DisplayMetrics metrics = r.getDisplayMetrics();

float multiplier=metrics.density/3f;

return multiplier;

}

现在我必须调整图像大小,并在通知图标中设置新的位图:

Bitmap bmURL=getBitmapFromURL(largeIcon);

float multiplier= getImageFactor(getResources());

bmURL=Bitmap.createScaledBitmap(bmURL,(int)(bmURL.getWidth()*multiplier),(int)(bmURL.getHeight()*multiplier),false);

if(bmURL!=null){

mBuilder.setLargeIcon(bmURL);

}

这工作对我来说我希望你能使用它.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值