2013-09-13 3 views
96

У меня есть текстовое изображение и вы хотите, чтобы его угол был в круглой форме. Я уже знаю, что это можно сделать, используя android:background="@drawable/somefile". В моем случае этот тег уже включен, поэтому нельзя использовать его снова. например android:background="@drawable/mydialogbox" уже есть, чтобы создать изображение в фоновом режимеОкругленный угол для текста в андроиде

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_gravity="top" 
    android:background="@drawable/mydialogbox" 
    android:orientation="horizontal" > 

    <TextView 
     android:id="@+id/textview_name" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 

    </LinearLayout> 

</RelativeLayout> 

поэтому, когда я хочу textview(textview_name) также с круглым углом, как это может быть достигнуто.

+3

, если у вас есть ответ, чем принять ответ, чтобы другие могли получить помощь от вашего вклада. – MilapTank

+0

Проверьте это http://www.gadgetsaint.com/tips/rounded-corners-views-layouts-android/#.WPz2QVN97BI – ASP

ответ

272

1) Создание rounded_corner.xml в папке drawable и добавить следующее содержание,

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" >   
    <stroke 
      android:width="1dp" 
      android:color="@color/common_border_color" /> 

    <solid android:color="#ffffff" /> 

    <padding 
      android:left="1dp" 
      android:right="1dp" 
      android:top="1dp" /> 

    <corners android:radius="5dp" /> 
</shape> 

2) Установите эту вытяжку в TextView фоне property.for Например:

android:background="@drawable/rounded_corner"

Надеюсь, это полезно для вас.

+7

Ответ правильный, что парень, который выложил, не объяснил это подробно. Вам нужно создать xml [например. rounded_view.xml] в вашей папке с указанным выше кодом. И в вашем макете, окружающем ваш текст, поставьте это как параметр android: background = "@ drawable/rounded_view" –

+1

android: background = "@ drawable/rounded_corner" не используйте расширение здесь! –

+3

Добавить 'android: shape =" rectangle "', если он не работал для вас – kristyna

11

Поскольку на вашем верхнем уровне уже установлен андроид: свойство фона, вы можете использовать <layer-list> (link), чтобы создать новый XML-чертеж, который сочетает в себе как старый фон, так и новый фон с закругленными углами.

Каждый элемент <item> в списке нарисован над следующим, поэтому последний элемент в списке - тот, который заканчивается сверху.

<?xml version="1.0" encoding="utf-8"?> 
<layer-list 
    xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <bitmap android:src="@drawable/mydialogbox" /> 
    </item> 
    <item> 
     <shape> 
      <stroke 
       android:width="1dp" 
       android:color="@color/common_border_color" /> 

      <solid android:color="#ffffff" /> 

      <padding 
        android:left="1dp" 
        android:right="1dp" 
        android:top="1dp" /> 

      <corners android:radius="5dp" /> 
     </shape> 
    </item> 
</layer-list> 
3
<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:id="@android:id/background"> 
     <shape> 
      <corners android:radius="5dp" /> 
      <solid android:color="#ffffff"/> 

     </shape> 
    </item> 
</layer-list> 
3

создать файл XML gradient.xml под вытяжкой папки

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape android:shape="rectangle" > 
      <corners android:radius="50dip" /> 
      <stroke android:width="1dip" android:color="#667162" /> 
      <gradient android:angle="-90" android:startColor="#ffffff" android:endColor="#ffffff" /> 
     </shape> 
    </item> 
</selector> 

затем добавить это к вашему TextView

android:background="@drawable/gradient" 
2

Вы можете использовать прилагаемую форму прямоугольника (без градиент, если вы этого не хотите):

В drawable/rounded_rectangle.xml:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <corners android:radius="5dp" /> 
    <stroke android:width="1dp" android:color="#ff0000" /> 
    <solid android:color="#00ff00" /> 
</shape> 

Затем в текстовом виде:

android:background="@drawable/rounded_rectangle" 

Конечно, вы хотите, чтобы настроить размеры и цвета.

Смежные вопросы