在android中不显示Shape = ring

时间:2015-05-15 20:51:46

标签: android android-shape

我正在尝试在彩色圆圈中显示一些文字,但它无法正常工作。这就是我渲染文本的方式 -

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="GO"
    android:background="@drawable/scancircle"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:textColor="#ffffff"
    android:textSize="18dp"
    android:padding="9dp"
    android:onClick="Go"
    />

这就是scancircle.xml的样子 -

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="ring"
    android:innerRadius="93dp"
    android:thickness="1dp"
    android:useLevel="false"
    >
    <solid android:color="@color/primary" />
    <stroke
        android:width="2dp"
        android:color="@color/txtVwBackground"
        />

    <padding
        android:left="2dp"
        android:right="2dp"
        android:top="2dp"
        android:bottom="2dp"
        />
</shape>   

尽管scancircle的预览正确显示了圆圈,但文字后面没有圆圈渲染。谁能说出这是为什么呢?

提前致谢。

1 个答案:

答案 0 :(得分:0)

嗯,实际上你没有使用,你使用 ring ,它在中间有一个洞。在你的情况下,这个洞的半径为93dp,使其大于TextView本身。因此,您在文本背后看到的是环的孔部分,它是透明的。

您可能希望将oval形状用于文本背后的&#34;圈&#34;效果。