notification 动态修改扩展后的图标

notification 修改打开之后的图片,最好的办法是使用contentView然后调用布局,然而有时候却要面临不能使用布局的情况也就是你不能使用R.layout。xx,这个样子你就不能动态修改icon的图标了。

 

换一个思路就是调用系统的布局 获得系统显示图片的View 然后重新设置他的图片就可以了

 

private boolean recurseGroup(ViewGroup gp)

{

   final int count = gp.getChildCount();

   

   for (int i = 0; i < count; ++i)

   {

       if (gp.getChildAt(i) instanceof ImageView)

       {   

        Bitmap mIcon=BitmapFactory.decodeResource(getResources(), R.drawable.icon);

        notification.contentView.setImageViewBitmap(((ImageView) gp.getChildAt(i)).getId(), mIcon);

      

        mNotification.notify(ID, notification);

           return true;            

       }else if (gp.getChildAt(i) instanceof ViewGroup)

           return recurseGroup((ViewGroup) gp.getChildAt(i));

   }

   return false;

}

这里是方法  注意我这里为了测试 mIcon还是调用了系统图标,而在我的项目中是不能使用资源文件的,这里尽是测试。

调用

 

notification.setLatestEventInfo(this, "消息", "Hello Android", pi);

LinearLayout group = new LinearLayout(this);

        ViewGroup event = (ViewGroup) notification.contentView.apply(this, group);

        recurseGroup(event);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值