2015-05-15 1 views
0

Я пытаюсь отобразить текст в цветном круге, но он не работает должным образом. Это, как я рендеринга текста -Shape = ring in android not display

<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 показывает круг правильно, но не круг оказывается позади текст. Может ли кто-нибудь сказать, почему это так?

Заранее спасибо.

+0

Что вы видите? Я бы сказал, что прямо сейчас над текстом должен быть большой круг - намного больше самого представления и, возможно, не похоже на круг. – AndroidEx

+0

Он ничего не показывает, только текст. Круг имеет темно-синий цвет и отображается на предварительном просмотре scancircle.xml. – Sam

ответ

0

Ну, на самом деле вы не используете круг, вы используете кольцо, который имеет отверстие в середине. В вашем случае это отверстие имеет радиус 93dp, что делает его больше, чем TextView. Таким образом, то, что вы видите позади текста, является дырочной частью кольца, которое является прозрачным.

Вы можете использовать форму oval для эффекта «круг за текстом».