【发布时间】:2020-01-24 17:08:37
【问题描述】:
我正在尝试在标签中显示未读通知。下面是我的自定义标签布局。
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/tabTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="sample"
android:alpha="0.5"
android:textStyle="bold"
android:layout_marginRight="4dp"
android:textColor="@android:color/white"
/>
<TextView
android:id="@+id/tabBadge"
android:layout_width="28dp"
android:layout_height="28dp"
android:layout_toRightOf="@id/tabTitle"
android:layout_centerVertical="true"
android:textColor="#FFF"
android:gravity="center"
android:text="10"
android:visibility="visible"
android:textStyle="bold"
android:background="@drawable/badge_circle"/>
</RelativeLayout>
我在下面一一尝试了 badge_circle.xml。但所有这些都只给了我椭圆形。我现在对如何制作圆形感到困惑。
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="ring" >
<gradient
android:startColor="#FFFF0000"
android:endColor="#FFFF0000"
android:angle="270"/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<gradient
android:type="radial"
android:gradientRadius="5"
android:centerX=".2"
android:centerY=".1"
android:startColor="#FFFF00"
android:endColor="#FFFF99" />
<size
android:width="20dp"
android:height="20dp"/>
</shape>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#d3d3d3"/>
<size
android:width="8dp"
android:height="8dp"/>
</shape>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<gradient
android:angle="0"
android:startColor="#FF000000"
android:endColor="#FFFFFFFF" />
</shape>
【问题讨论】:
-
使用 shape="ring" 代替椭圆
-
戒指我也试过了,它给我椭圆形而不是圆形