在 Android 上创建类似 iPhone 的徽章通知

2024-01-14

ALL,

我到处都能看到有关如何使其适用于应用程序图标的回复。我的情况有点不同。

在我的程序中,我有一个显示图像的 ListView。每个图像都与下面的对象相关联。

我想做的是创建一个类似于 iPhone 徽章通知的设计,但适用于视图中的所有图像。

试图询问谷歌,我发现this http://tech.chitgoks.com/2012/07/06/how-to-add-a-notification-alert-badge-in-an-android-imageview/关联。问题是 - 它不起作用。我正在使用 2.2 内核的 LG Android 手机上进行测试,我看到的只是一个小红点,它甚至不位于图像本身左侧高几个像素的位置。

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <ImageView
        android:id="@+id/user_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@string/user_image_description"
        android:src="@drawable/placeholder"
    />
    <TextView
        android:id="@+id/user_messages"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/icon"
        android:layout_alignBottom="@id/icon"
        android:background="@color/red"
        android:textColor="@color/silver"
        android:layout_marginLeft="-4dp"
        android:layout_marginBottom="-4dp"
        android:textSize="12sp"
        android:textStyle="bold"
        android:gravity="center"
    />
</RelativeLayout>

有人可以看一下吗?

我尝试更改边距和文本大小,但没有改变任何内容。

谢谢。


试试这个方法

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_widget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dip"
android:focusable="true" >

<ImageView
    android:id="@+id/icon"
    android:layout_width="60dip"
    android:layout_height="60dip"
    android:layout_marginTop="8dp"
    android:background="@drawable/logo"
    android:contentDescription="image"
    android:scaleType="center" />

<TextView
    android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/icon"
    android:gravity="center"
    android:paddingLeft="3dp"
    android:paddingTop="10dp"
    android:shadowColor="#000000"
    android:shadowDx="1"
    android:shadowDy="1"
    android:shadowRadius="1.5"
    android:text="@string/app_name"
    android:textColor="#FFF" />

<TextView
    android:id="@+id/txt_count"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="-10dip"
    android:layout_toRightOf="@+id/icon"
    android:background="@drawable/badge_count2"
    android:contentDescription="badge"
    android:gravity="center"
    android:text="1"
    android:textColor="@color/White"
    android:textStyle="bold"
    android:visibility="visible" />

</RelativeLayout>

Create drawable/badge_count2.xml文件如下

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >

<solid android:color="@color/red" >
</solid>

<stroke
    android:width="2dp"
    android:color="#FFFFFF" >
</stroke>

<padding
    android:bottom="2dp"
    android:left="7dp"
    android:right="7dp"
    android:top="3dp" />

<corners android:radius="10dp" >
</corners>

Output:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Android 上创建类似 iPhone 的徽章通知 的相关文章

  • 如何清除所有WebView存储的信息?

    我有一个 Android 浏览器 我可以选择清除缓存 存储 cookie 等 代码如下所示 webView clearCache true webView clearFormData webView clearHistory webView
  • 如何快速自动发送FCM或APNS消息?

    我正在开发一项后端服务 通过 FCM 或 APNS 向移动应用程序发送推送通知 我想创建一个可以在一分钟内运行的自动化测试 并验证服务器是否可以成功发送通知 请注意 我不一定需要检查通知是否已送达 只需检查 FCM 或 APNS 是否已成功
  • 在包“android”中找不到属性“backgroundTint”的资源标识符

    我发现了一些视图 xml 属性 例如backgroundTint backgroundTintMode 但是当我使用它作为视图属性定义时 Eclipse 显示错误 No resource identifier found for attri
  • 在 ViewPager Fragments 中使用 Master/Detail 模板(下载链接)

    工作代码 https github com lukeallison ViewPagerMasterDetail https github com lukeallison ViewPagerMasterDetail Android 主 详细流
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • CardView 圆角获得意想不到的白色

    When using rounded corner in CardView shows a white border in rounded area which is mostly visible in dark environment F
  • Android 模拟器插件无法初始化后端 EGL 显示

    我在 Cloudbees 上设置了 Jenkins 作业 并且可以在那里成功签出并编译我的 Android 项目 现在我想在 android 模拟器中运行一些 JUnit 测试并添加 Android 模拟器插件 我将 显示模拟器窗口 选项设
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 无法访问 com.google.android.gms.internal.zzbfm 的 zzbfm 类文件未找到

    我正在将我的 Android 应用程序项目从GCM to FCM 为此 我使用 Android Studio 中的 Firebase 助手工具 并遵循 Google 开发人员指南中的说明 一切都很顺利 并将我的应用程序代码更改为FCM根据助
  • 尝试将相机切换回前面但出现异常

    尝试将相机切换回前面 但出现异常 找不到 问题请检查并帮助 error 01 27 11 49 00 376 E AndroidRuntime 30767 java lang RuntimeException Unable to start
  • 是否有 ADB 命令来检查媒体是否正在播放

    我想使用 ADB 命令检查根植于终端的外部设备中是否正在播放音频 视频 我无法找到任何 ADB 命令 如果有 我尝试过 adb shell dumpsys media player 我想要一个命令来指定视频是否正在运行 您可以使用以下命令查
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 我想实现下面的布局,按钮应该在屏幕底部,当惰性列被填充时,按钮不应该出去

    顶部有惰性列 惰性列下方有输入电话号码布局并从电话簿布局添加联系人 我希望当未添加联系人时此布局位于顶部 当我添加大量联系人时输入电话号码并添加电话簿布局中的联系人会随着惰性列滚动并移出屏幕 我不让他们走出屏幕 当接触较多时 它们必须粘在底
  • Android访问远程SQL数据库

    我可以直接从 Android 程序访问远程 SQL 数据库 在网络服务器上 吗 即简单地打开包含所有必需参数的连接 然后执行 SQL 查询 这是一个私人程序 不对公众开放 仅在指定的手机上可用 因此我不担心第三方获得数据库访问权限 如果是这
  • 我的设备突然没有显示在“Android 设备选择器”中

    我正在使用我的三星 Galaxy3 设备来测试过去两个月的应用程序 它运行良好 但从今天早上开始 当我将设备连接到系统时 它突然没有显示在 Android 设备选择器 窗口中 我检查过 USB 调试模式仅在我的设备中处于选中状态 谁能猜出问
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以
  • 将 Intent 包装在 LabeledIntent 中以用于显示目的

    要求 我的应用程序中有一个 共享 按钮 我需要通过 Facebook 分享 我需要选择是否安装原生 Facebook 应用程序 我们的决定是 如果未安装该应用程序 则将用户发送到 facebook com 进行分享 当前状态 我可以检测何时
  • 如何将 google+ 登录集成到我的 Android 应用程序中?

    大家好 实际上我需要通过我的应用程序从 google 登录人们 现在我阅读了 google 上的文档 其中指出 要允许用户登录 请将 Google Sign In 集成到您的应用中 初始化 GoogleApiClient 对象时 请求 PL
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • 如何将 Content-Length、Content-Type 和 Last-Modified 添加到 HTTP 响应消息标头

    如何使用 net 将 Content Length Content Type 和 Last Modified 添加到 HttpResponseMessage 标头 添加这些字段后 我需要将所有这些值手动附加到响应中 我需要从服务器返回响应
  • 向jetty添加多个资源目录

    希望在 Jetty 中使用多个静态目录 当服务器运行时 http localhost 8282 A http localhost 8282 B http localhost 8282 C A 置于 X V A 中 B 置于 Q Z B 中
  • Cloud Run 是否需要 NGINX?

    我正在为我的博客和工作网站使用 Cloud Run 我真的很喜欢它 我已经根据 google 教程通过容器化部署了 python API 和 Vue Nuxt 应用程序 我不明白的一件事是为什么前面不需要 NGINX Use the off
  • 如何在Python中打印一个数字n次? [复制]

    这个问题在这里已经有答案了 如何在Python中打印一个数字n次 我可以像这样打印 A 5 次 print A 5 AAAAA 但不是 10 个 像这样 print 10 5 50 我想要的答案是10 10 10 10 10 我如何逃避数学
  • 将文件附加到存档而不读取/重写整个存档

    我有很多文件想要存储在一个存档文件中 我的第一个方法是将文件存储在压缩的 tarball 中 问题是 如果添加单个文件 我必须重写整个存档 我可以摆脱 gzip 压缩 但添加文件仍然很昂贵 您建议使用哪种其他存档格式来允许快速追加操作 Th
  • Laravel 迁移 - 创建时间戳时出现问题

    我正在尝试在我的 Laravel 实例上运行迁移 它们只是默认迁移 用户和密码重置 但是当它尝试创建时间戳时 它会抛出此错误 Illuminate Database QueryException SQLSTATE 42000 Syntax
  • 正则表达式中的可选字符

    任务非常简单 但我还没有想出一个好的解决方案 字符串可以包含数字 破折号和加号 或者仅包含数字 0 9 做了我需要的大部分工作 除了当用户输入像 这样的垃圾时 我在常规前瞻方面运气不佳 因为破折号和加号可能位于字符串中的任何位置 有效字符串
  • 来自 QDataStream 的 QT QString

    我正在使用缓冲区 并试图从中获取字符串 但不起作用 Example void myFunc QDataStream in quint8 v in gt gt v Ok I caught v value successfuly QString
  • 如何通过 grunt-contrib-uglify 按顺序缩小 js 文件?

    我有一个如下所示的目录 文件夹 b js 文件夹 jQuery js 文件夹 a js 文件夹 sub c js 我想将所有这些js文件缩小到一个js文件中in order jQuery js gt a js gt b js gt c js
  • VBA 多个循环匹配条件

    如果这是重复的 我深表歉意 因为我一直在搜索但没有找到答案 我对 VBA 以及它们如何构造循环很陌生 我正在尝试进行搜索和比较 我需要比较第一行中的值 看看它们是否与第二行匹配 如果不匹配 则继续移动到下一行 请参阅下面的我的代码 它运行时
  • 集群上运行的 Dask 程序出现文件未找到错误

    我有 4 台机器 M1 M2 M3 和 M4 调度程序 客户端 工作线程都在 M1 上运行 我已将 csv 文件放入 M1 中 其余的机器都是工人 当我在 dask 中使用 read csv 文件运行程序时 它给我错误 找不到文件 当您的一
  • 如何运行新的 gradle 任务?

    我在 build gradle 中创建了一个新的 gradle 任务 task callCL type Exec println hello commandLine rerun sh 假设运行 rerun sh bin bash cucum
  • 无法在 Windows 8 Metro 风格应用程序中使用 IPAddress 或类似类型

    我发现使用有困难System Net IPAddress或 Windows 8 Metro 应用程序中的任何类似类型 我正在创建一个将在 Intranet 环境中运行的应用程序 用户将使用 IPAddress 连接到远程服务器 但不知何故我
  • 如何调试复杂的 IF Excel 公式?

    我是一名学校老师 正在开发学校的评估系统 我应该怎么做才能纠正这个公式 IF H3 SUR IF Subject C3 lt 2 7 Not on track IF Subject C3 lt 3 29 On track IF Subjec
  • 卡夫卡消费者错误:标记协调员死亡

    我有一个在 Kafka 0 10 0 1 集群中有 10 个分区的主题 我有一个生成多个消费者线程的应用程序 对于这个主题 我生成了 5 个线程 我在我的应用程序日志中多次看到此条目 INFO AbstractCoordinator 600
  • Cython cimport 找不到 .pxd 模块

    已解决 请参阅编辑 3 假设包的结构如下 Some Package some package init py core init py definition pxd helper init py helper pxd helper pyx
  • 如何发送带有 header 参数的 HTTP 请求?

    一般来说 我对 javascript 和网络编程非常陌生 我需要一些帮助 我有一个 HTTP 请求 需要通过 javascript 发送 并需要将输出存储在变量中 我尝试仅使用呼叫网址 https api fantasydata net n
  • OpenXML SpreadsheetDocument SaveAs() 给出文件使用中错误

    我正在尝试使用从 ASP Net Core Web 应用程序调用的 OpenXMLPowerTools v4 5 3 2 DocumentFormat OpenXML v2 9 1 动态生成 Excel 电子表格 我已经验证能够正常生成电子
  • std::thread,在“this”上启动线程(从类本身内部)

    我正在尝试创建一个类 该类启动其成员方法之一的线程实例 当我在 main 中执行操作时 test myinstance std thread mythread myinstance 然后事情编译 但使用以下结构 include
  • 在 Android 上创建类似 iPhone 的徽章通知

    ALL 我到处都能看到有关如何使其适用于应用程序图标的回复 我的情况有点不同 在我的程序中 我有一个显示图像的 ListView 每个图像都与下面的对象相关联 我想做的是创建一个类似于 iPhone 徽章通知的设计 但适用于视图中的所有图像