如何创建编号在Android的通知圈?

How to create notification circle with number in Android?

我需要用数字创建一个圆圈。但问题是有些数字不在中心,例如1就在中心。

<shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <corners android:radius="18dp"/>
        <solid android:color="@color/black"/>
</shape>

这个Drawable是TextView的背景

尝试使用属性

android:includeFontPadding="false"

 <TextView
    android:layout_width="18dp"
    android:layout_height="18dp"
    android:background="@drawable/test"
    android:gravity="center"
    android:textColor="@color/colorAccent"
    android:includeFontPadding="false"
    android:text="1"/>

drawable 中创建文件 round.xml

将此设置为您 textview 的背景资源。

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval" android:useLevel="true"
    android:dither="true">
    <solid
        android:color="@android:color/white"/>
    <stroke
        android:color="@color/switcher_grey"
        android:width="@dimen/_1ssp"/>
</shape>

创建文件 xml 可绘制文件。

    <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        >
        <shape
            android:shape="oval">
            <solid android:color="#0288D1" />
        </shape>
    </item>
    <item>
        <shape
            android:shape="oval">
            <stroke android:width="2dp"
                android:color="#FFd200"/>
        </shape>
    </item>
</layer-list>