如何创建按钮或标签之类的通知?

时间:2019-06-27 11:18:26

标签: android

我需要创建带有上标数字的图标。上标数字应可通过代码进行编程。这些图标用于显示我的应用程序中的待处理任务和已完成任务。我该如何实现?

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以使用以下代码实现功能,根据需要更改视图和图像的ID enter image description here,检查上面的图像和代码;)

<?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">

    <RelativeLayout
        android:layout_centerInParent="true"
        android:layout_marginBottom="-30dp"
        android:layout_above="@id/msg"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:layout_width="@dimen/_35sdp"
            android:layout_marginStart="@dimen/_162sdp"
            android:layout_height="@dimen/_35sdp"
            android:src="@drawable/circle"/>

        <TextView
            android:layout_width="@dimen/_30sdp"
            android:layout_height="@dimen/_30sdp"
            android:textSize="@dimen/_18ssp"
            android:text="5"
            android:gravity="center"
            android:layout_marginStart="@dimen/_165sdp"
            android:textColor="#000"/>


    </RelativeLayout>


    <ImageView
        android:id="@+id/msg"
        android:layout_centerInParent="true"
        android:layout_width="@dimen/_80sdp"
        android:layout_height="@dimen/_80sdp"
        android:background="@drawable/contact" />
</RelativeLayout>

答案 1 :(得分:0)

在我的一个项目中,我没有使用库来做这个,最终我创建了自己的个人。

这是我使用的布局

<RelativeLayout
    android:id="@+id/relative_messages_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <RelativeLayout
        android:id="@+id/relative_button_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <Button
            android:id="@+id/btn_dialog_message"
            android:layout_width="65dip"
            android:layout_height="65dip"
            android:background="@drawable/ic_message_icon" />
    </RelativeLayout>
    <TextView
        android:id="@+id/tv_badge_notification_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@id/relative_button_layout"
        android:background="@drawable/badge_count"
        android:text="16"
        android:textColor="#FFF"
        android:textSize="16sp"
        android:textStyle="bold" />
</RelativeLayout>

badge_count可绘制对象是:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <corners android:radius="8dp" />
    <solid android:color="#f20000" />
    <stroke
        android:width="2dip"
        android:color="#FFF" />
    <padding
        android:bottom="5dp"
        android:left="5dp"
        android:right="5dp"
        android:top="5dp" />
</shape>

您可以将其更改为矩形,环形等等。

然后按照应用程序的逻辑,每当收到消息时,您都必须隐藏或显示tv_badge_notification_text,并使用您拥有的确切数字设置文本。

希望有帮助。