- 15
- 0
- 约3.2千字
- 约 5页
- 2023-05-12 发布于上海
- 举报
android 图标上面添加数字
2011-09-13 15:08:27 我来说两句 0
我要投稿 [字体:小 大]
新建名为 NotificationIconCount 的 Android Project。首先修改 AndroidManifest.xml,加入权限uses-permission
android:name=android.permission.READ_CONTACTS/uses-permission,因为我们要读取联系人。
修改 main.xml 如下,这里定义一个 ImageView,勇于预览我们处理好的加上数字的图标。
Xml 代码
?xml version=1.0 encoding=utf-8?
LinearLayout xmlns:android=/apk/res/android
android:orientation=vertical android:layout_width=fill_parent android:layout_height=fill_parent
ImageView
android:id=@+id/icon android:layout_width=wrap_content android:layout_height=wrap_content android:scaleType=center android:adjustViewBounds=true/
/LinearLayout
先来获取手机内通讯录的图标,如果没有获取到,则使用该应用的图标.
Java 代码
super.onCreate(savedInstanceState); setContentView(R.layout.main); mImageView=(ImageView)findViewById(R.id.icon);
//优先采用联系人的图标,如果不存在则采用该应用的图标Drawable contactIcon;
try {
contactIcon = getPackageManager().getApplicationIcon(com.android.contacts);
} catch (NameNotFoundException e) { contactIcon=null;
}
Bitmap icon;
if(contactIcon instanceof BitmapDrawable){ icon=((BitmapDrawable)contactIcon).getBitmap();
}else{
icon=getResIcon(getResources(), R.id.icon);
}
这里用到一个自定义的根据资源图标 id 获取图片的函数,很简单,代码如下:
Java 代码
/**
根据 id 获取一个图片
@param res
@param resId
@return
*/
private Bitmap getResIcon(Resources res,int resId){ Drawable icon=res.getDrawable(resId);
if(icon instanceof BitmapDrawable){ BitmapDrawable bd=(BitmapDrawable)icon; return bd.getBitmap();
}else{
return null;
}
}
获取到图标之后就要对这个图标进行处理了,要为该图标加上联系人数量的覆盖, 首先我们看获取联系人个数的函数。
Java 代码
/**
获取联系人的个数
@return 手里通讯录中联系人的个数
*/
private int getContactCount(){
Cursor c=getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, new String[]{ContactsContract.Contacts._COUNT}, null, null, null);
try{
c.moveToFirst(); return c.getInt(0);
}catch(Exception e){ return 0;
}finally{
c.close();
}
}
这里采用 Uri 的方式获取联系人的 cursor,然后获取个数。
有了图标和联系人个数就可以生成带联系人个数的图标了,我们看下生成的这个函数。
Java 代码
/**
在给定的图片的右上角加上联系人数量。数量用红色表示
@param icon 给定的图片
@return 带联系人数量的图片
*/
private Bitmap generatorContactCountIcon(Bi
您可能关注的文档
- 2012年春学期学校工作总结.docx
- 2012年上海中考英语真题试卷.docx
- 2012年小升初英语试卷.docx
- 2012年小升初语文试卷.docx
- 2012年小学数学新课标培训学习心得体会.docx
- 2012年中考语5文真题试题.docx
- 2012年中考语文1真题试题.docx
- 2012七年级上数学周周练2.docx
- 2012秋升旗方案分析和总结.docx
- 2012人教版七年级数学上册第一单元测试卷.docx
- 2026年包头职业技术学院单招职业技能考试题库附答案详解(突破训练).docx
- 2026年包头职业技术学院单招职业技能考试题库附答案详解(突破训练).docx
- 2026年包头职业技术学院单招职业技能考试题库附答案详解(巩固).docx
- 2026年包头职业技术学院单招职业技能考试题库附答案详解(模拟题).docx
- 2026年包头职业技术学院单招职业技能考试题库附答案详解(综合题).docx
- 2026年包头职业技术学院单招职业技能考试题库附答案详解(考试直接用).docx
- 2026年包头职业技术学院单招职业技能考试题库附答案详解(实用).docx
- 2026年包头职业技术学院单招职业技能考试题库附答案详解(基础题).docx
- 2026年包头职业技术学院单招职业技能考试题库附答案详解(b卷).docx
- 2026年包头职业技术学院单招职业技能考试题库附答案详解(完整版).docx
原创力文档

文档评论(0)