首页 > 代码库 > 在小米 三星 索尼 手机 :图标上显示数字
在小米 三星 索尼 手机 :图标上显示数字
在小米 三星 索尼 手机 :图标上显示数字(未读消息数):这部分代码,是从QQ5.0.apk中找的。
小米已经测试通过了,
三星和索尼的,由于没有相应的手机,没有测试,有的,可能修改一下代码(判断是什么手机的代码),
测试一下,可以在回复一下测试结果,谢谢
1.原生系统(原生的Launcher ),只能修改快捷方式,增加和删除都会有toast提示
2.小米 三星 索尼 手机: 自定义的launcher: 发送显示未读消息数的action已经不同了。具体可以去看代码。。。
下面写好的工具类,上面的方法也在其中。
小米已经测试通过了,
三星和索尼的,由于没有相应的手机,没有测试,有的,可能修改一下代码(判断是什么手机的代码),
测试一下,可以在回复一下测试结果,谢谢
1.原生系统(原生的Launcher ),只能修改快捷方式,增加和删除都会有toast提示
2.小米 三星 索尼 手机: 自定义的launcher: 发送显示未读消息数的action已经不同了。具体可以去看代码。。。
判断手机的代码:
/*** * 在应用图标的快捷方式上加数字 * @param clazz 启动的activity * @param isShowNum 是否显示数字 * @param num 显示的数字:整型 * @param isStroke 是否加上边框 * */ public static void addNumShortCut(Context context,Class<?> clazz,boolean isShowNum, String num, boolean isStroke) { Log.e(TAG, "manufacturer="+Build.MANUFACTURER); if (Build.MANUFACTURER.equalsIgnoreCase("Xiaomi")){ //小米 xiaoMiShortCut(context, clazz, num); }else if(Build.MANUFACTURER.equalsIgnoreCase("samsung")){ //三星 samsungShortCut(context, num); }else {//其他原生系统手机 installRawShortCut(context, MainActivity.class, isShowNum, num, isStroke); } }
下面写好的工具类,上面的方法也在其中。
/*** * 应用的快捷方式工具类 * * @author yang * */ public class AppShortCutUtil { private static final String TAG = "AppShortCutUtil"; //默认圆角半径 private static final int DEFAULT_CORNER_RADIUS_DIP = 8; //默认边框宽度 private static final int DEFAULT_STROKE_WIDTH_DIP = 2; //边框的颜色 private static final int DEFAULT_STROKE_COLOR = Color.WHITE; //中间数字的颜色 private static final int DEFAULT_NUM_COLOR = Color.parseColor("#CCFF0000"); /*** * * 生成有数字的图片(没有边框) * @param context * @param icon 图片 * @param isShowNum 是否要绘制数字 * @param num 数字字符串:整型数字 超过99,显示为"99+" * @return */ public static Bitmap generatorNumIcon(Context context, Bitmap icon, boolean isShowNum, String num) { DisplayMetrics dm = context.getResources().getDisplayMetrics(); //基准屏幕密度 float baseDensity = 1.5f;//240dpi float factor = dm.density/baseDensity; Log.e(TAG, "density:"+dm.density); Log.e(TAG, "dpi:"+dm.densityDpi); Log.e(TAG, "factor:"+factor); // 初始化画布 int iconSize = (int) context.getResources().getDimension(android.R.dimen.app_icon_size); Bitmap numIcon = Bitmap.createBitmap(iconSize, iconSize, Config.ARGB_8888); Canvas canvas = new Canvas(numIcon); // 拷贝图片 Paint iconPaint = new Paint(); iconPaint.setDither(true);// 防抖动 iconPaint.setFilterBitmap(true);// 用来对Bitmap进行滤波处理,这样,当你选择Drawable时,会有抗锯齿的效果 Rect src = http://www.mamicode.com/new Rect(0, 0, icon.getWidth(), icon.getHeight());>在小米 三星 索尼 手机 :图标上显示数字
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。