我需要实现这个模型
灰色徽标没有问题。它是 TableLayout 中带有 PNG 文件的 TextView。
但是,我不知道如何在一个角上放一个小绿色圆圈。这个圆圈的意思是“有新消息,需要你注意什么”。它可以是,也可以不是。它可以包含不同的数字。
我的想法 - 用圆圈(我也有 PNG)和数字绘制 MyView。但是如何计算“父母”角落的坐标?
你会怎么做?
我需要实现这个模型
灰色徽标没有问题。它是 TableLayout 中带有 PNG 文件的 TextView。
但是,我不知道如何在一个角上放一个小绿色圆圈。这个圆圈的意思是“有新消息,需要你注意什么”。它可以是,也可以不是。它可以包含不同的数字。
我的想法 - 用圆圈(我也有 PNG)和数字绘制 MyView。但是如何计算“父母”角落的坐标?
你会怎么做?
您可以使用ViewBadger
允许您用几行代码执行此类操作的库。
您可以使用RelativeLayout
将新项目计数器放在灰色图标的角落上方。例如,以下 xml 是布局中的单个单元格:
<?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/gray_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@drawable/some_gray_icon" />
<TextView
android:id="@+id/new_items_counter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@id/gray_icon"
android:layout_alignTop="@id/gray_icon"
android:background="@drawable/green_circle_icon"
android:text="2"
android:textColor="@android:color/white"
android:textSize="16sp" />
</RelativeLayout>
如果您想将计数器向上或更多向右移动,请使用具有负值的边距。
android:layout_marginTop="-5dp"
android:layout_marginRight="-5dp"
使用这种方法,您必须从代码中更新计数器值和可见性。