java - 动态定义图标的绘制方式

标签 java android

我想在我的 Android 电子阅读器应用程序上有一个“评论”按钮,该按钮显示当前在图标内发布的评论数量...所以基本上我想要一个带有数字的评论气泡。

我可以有多个 drawable,每个都是内部有不同数字的气泡,并使用 switch 语句根据元素的 int number_of_comments 字段选择每次加载哪个正在显示。虽然这种方法看起来有点浪费,但无论如何我觉得有一种更优雅的方法可以做到这一点。

有什么想法吗?

最佳答案

你可以做得更好。你可以在 ImageView 之上有一个 TextView ,并在每次添加新评论时不断更新它的值。您可以像下面这样在 xml 中定义重叠,并相应地调整您的代码逻辑以增加评论数。现在我刚刚设置了一个虚拟文本 Hello 以显示在 ImageView 的顶部。您可以使用 TextView 的 setText 方法添加评论数。

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativelayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<ImageView
    android:id="@+id/myImageView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/myImageSouce" />

<TextView
    android:id="@+id/myImageViewText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/myImageView"
    android:layout_alignTop="@+id/myImageView"
    android:layout_alignRight="@+id/myImageView"
    android:layout_alignBottom="@+id/myImageView"
    android:layout_margin="1dp"
    android:gravity="center"
    android:text="Hello"
    android:textColor="#000000" />

</RelativeLayout>

希望这有助于...

关于java - 动态定义图标的绘制方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15080203/

相关文章:

java - Android:如何将文件写入内部存储

android - 使用 Glide 和 okhttp3 在 Stetho 中进行网络检查

android - 如何从 Flutter 中的 Intent 加载图像?

android - 使用 Firebase 上传更新进度条

java - 如何让Spring security在CAS服务器成功验证后将用户重定向到原始请求的页面

java - 接口(interface)和类对象内存分配的区别

java - 警告 : Unable to find an exact match for CDP version 107, 因此返回找到的最接近的版本:106

java - 将加速度计数据从 Android Wear 发送到智能手机

JavaEE 项目部署失败

java - JPA Criteria API - 如何从 JPA 获取单向 ManyToOne 关系的对立面