绘制“新项目计数”的最佳方法是什么?

时间:2013-03-14 07:30:04

标签: android android-layout android-view

我需要实现这个mockap enter image description here

灰色徽标没问题。它是TableLayout中带有PNG文件的TextView。

但是,我不知道,如何将小绿圈放在一角。这个圈子意味着“有新消息,需要你注意什么”。它可以是,也可以不是。它可以包含不同的数字。

我的想法 - 用圆圈绘制MyView(我也在PNG中绘制)和数字。但是如何计算“父母角”的坐标呢?

你会怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用ViewBadger库,只需几行代码即可完成此操作。

答案 1 :(得分:1)

您可以使用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"

使用这种方法,您必须更新代码中的计数器值和可见性。