用于图标通知的UI帮助

Alt*_*taf 5 user-interface android android-widget android-layout

我想设计以下UI.任何人都可以给我一个例子或建议一些实现源代码吗?

我想要的图标

Adi*_*mro 9

这里是Git的综合交通枢纽工程就显示在不同的项目的徽章,但你的应用程序中(即TextView,TabHost,ImageView等等)

关于在应用程序图标上显示徽章,这是不可能的,因为这不是显示通知的android方式.android框架支持使用状态栏通知处理通知


fss*_*itt 6

如果要在左上角设置通知图标,它就像下一段代码一样简单:

Bitmap1必须大于bitmap2,在你的情况下我会建议它是一个透明背景的PNG图像,以允许通知气泡在图像的其余部分之外.

        private Bitmap overlay(Bitmap bitmap1, Bitmap bitmap2) {
            Bitmap bmOverlay = Bitmap.createBitmap(bitmap1.getWidth(), bitmap1.getHeight(), bitmap1.getConfig());
            Canvas canvas = new Canvas(bmOverlay);
            canvas.drawBitmap(bitmap1, new Matrix(), null);
            canvas.drawBitmap(bitmap2, new Matrix(), null);
            return bmOverlay;
        }
Run Code Online (Sandbox Code Playgroud)

否则,如果您想要它在右上角,您应该尝试Canvas.drawBitmap的任何其他规范.

例如:

canvas.drawBitmap(Bitmap bitmap, float left, float top, Paint paint);
Run Code Online (Sandbox Code Playgroud)

尝试做类似的事情:

private Bitmap overlay(Bitmap bitmap1, Bitmap bitmap2) {
            Bitmap bmOverlay = Bitmap.createBitmap(bitmap1.getWidth(), bitmap1.getHeight(), bitmap1.getConfig());
            Canvas canvas = new Canvas(bmOverlay);
            canvas.drawBitmap(bitmap1, new Matrix(), null);
            canvas.drawBitmap(bitmap2, bitmap1.getWidth()-bitmap2.getWidth(), 
                              0,null);
            return bmOverlay;
        }
Run Code Online (Sandbox Code Playgroud)

如果你想要的只是如何在XML上做,那么你应该创建一个RelativeLayout然后在其上添加两个图像并将通知气泡对齐到右边.这应该可以解决问题.您仍然需要具有透明背景的PNG图像.

我希望这对你想做的事情已经足够了.