Android Notification使用系统通知栏布局出现的图标问题

本文详细介绍了在Android应用中使用系统通知栏布局时,图标显示遇到的两个常见问题及解决方案:状态栏图标变形和修改下拉通知栏图标。通过使用Notification类的方法和反射机制,可以有效解决这些问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Notification使用系统通知栏布局时图标显示遇到的两个问题

1.在状态栏显示的图标变形。

2.修改下拉通知栏上显示的图标。

 

解决方法:

 

使用系统的通知栏界面布局的方法:

Notification messageNotification = new Notification();
messageNotification.icon = R.drawable.notify_icon;// 状态栏提示图标
messageNotification.tickerText = "";// 状态栏提示消息
messageNotification.flags |= Notification.FLAG_AUTO_CANCEL;// 点击消息后,该消息自动退出

 

注意:

messageNotificaton.icon是状态栏上显示的图标,建议使用48x48px,如果使用72x72px会出现图片变形的问题。

 

//利用反射机制修改通知栏图标
try
{
	Class<?> clazz = Class.forName("com.android.internal.R$id");  
			         
	Field field = clazz.getField("icon");  
	field.setAccessible(true);  
	int id_icon = field.getInt(null);		        
	if( messageNotification.contentView!=null)
	messageNotification.contentView.setImageViewResource(id_icon, R.drawable.ic_logo);//这个图标是通知下拉栏上显示的图标
}catch(Exception e)
{
	 e.printStackTrace();
}

 上面的代码是通过反射机制来修改下拉的通知栏的contentView的图标。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值