2016-12-19 2 views
0

Я работаю на Android приложение, где мне нужно, чтобы показать некоторый текст внутри круга, какЛучший способ для реализации TextView внутри кругового изображения/прямоугольника в андроида

enter image description here

Текст является dynamic.Similarly Я хочу реализовать TextView внутри формы прямоугольника, как enter image description here

я узнал, что файл форма XML можно использовать для рисования некоторых фигур, как

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval"> 
    <corners android:radius="20dip"/> 
    <stroke android:color="@color/colorPrimary" android:width="5dip"/> 
    <solid android:color="@android:color/transparent"/> 
</shape> 

Но это не правильно, поскольку я хочу пустое пространство между текстом и кругом. Я также пытался использовать android:background в текстовом режиме, но не смог достичь вышеупомянутого сценария.

Каков наилучший способ реализации вышеуказанного сценария? Как такие подобные сценарии могут быть реализованы? Могу ли я использовать некоторые пользовательские изображения, чтобы формы круга/прямоугольника могли быть изменены и как это сделать?

+0

Эй вы пытаетесь сделать как это ??? Посмотрите на мой ответ: http://stackoverflow.com/a/40973512/4906130 – Bhavnik

ответ

0

Попробуйте это: -

В вашем XML: -

<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/test"> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="11" 
     android:layout_centerInParent="true"/> 
</RelativeLayout> 

@ вытяжке/тест

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="oval"> 
     <corners android:radius="20dip"/> 
     <size android:height="40dp" android:width="40dp"/> 
     <stroke android:color="@color/colorPrimary" android:width="2dip"/> 
     <solid android:color="@android:color/transparent"/> 
    </shape> 
+0

он работает правильно, если размер текста мал. Если размер текста большой (36dp) и если вы пытаетесь изменить радиус, высоту, ширина формы ничего не происходит. – Rohit

+0

для textSize из 36dp измените эту строку как: - <размер android: height = "70dp" android: width = "70dp" /> в вашем @ drawable/test – Nainal

+0

Могу ли я сгруппировать 2 текстовых изображения и добавить круговую форму поверх них? использовать некоторые пользовательские изображения, чтобы изменить стиль круга? – Rohit

1

Вы можете использовать что-то вроде этого ..

btn_bg.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" > 
    <corners android:radius="50dp" /> 
    <solid android:color="#000"/> 
</shape> 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 


    <Button 
     android:layout_width="match_parent" 
     android:layout_height="100dp" 
     android:text="Total Count" 
     android:layout_marginTop="40dp" 
     android:textSize="36dp" 
     android:background="@drawable/btn_bg" 
     android:textColor="#fff" 
     android:id="@+id/btn" 
     /> 

</RelativeLayout>