2015-02-19 2 views
4

Я пытаюсь сделать рисую, как показано ниже enter image description here:Android: рисую с идеальным круглым углом

Я сделал это с помощью следующего кода:

<?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:layout_width="match_parent" 
    android:layout_height="60dp" 
    android:background="@color/white" 
    android:padding="10dp" 
    android:orientation="vertical"> 

<View 
    android:layout_width="40dp" 
    android:layout_height="match_parent" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:background="@drawable/bg_round_button_green"/> 

<View 
    android:layout_width="40dp" 
    android:layout_height="match_parent" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" 
    android:background="@drawable/bg_round_button_green"/> 

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="36dp" 
    android:text="Text" 
    android:textColor="@color/white" 
    android:textSize="22sp" 
    android:gravity="center" 
    android:layout_centerVertical="true" 
    android:background="@color/siam_green3" 
    android:layout_marginLeft="20dp" 
    android:layout_marginRight="20dp"/> 

</RelativeLayout> 

bg_round_button_green.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="ring"> 
    <solid android:color="#FF0DAB61"/> 
</shape> 

Я также попытался это:
bg_round_button_ green.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <solid android:color="#FF0DAB61"/> 
    <corners android:radius="100dp"/> 
</shape> 

Но это показывает,
enter image description here

Можно ли сделать это с помощью одной Drawable формы (без создания трех просмотров)?

+0

Это действительно ** исправление **, с ** углами ** (ваша вторая попытка). Просто попробуйте установить углы равными ** 1/2 высоты * вашего TextViews. I.e .: ** 18dp ** (не 100dp) для TextView, высота 36dp. –

+0

Я сделал это уже, это не сработало. – palatok

+0

Вы должны использовать 'android: background =" @ drawable/bg_round_button_green "' для вашего TextView, а не 'android: background =" @ color/siam_green3 "' –

ответ

4

Попробуйте это. Прекрасно подходит для меня.

<?xml version="1.0" encoding="utf-8"?> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android" > 
    <solid android:color="#A5000000"/> 
    <stroke android:width="0dp" 
     android:color="#00FFFFFF"/> 
    <padding android:left="0dp" 
     android:top="0dp" 
     android:right="0dp" 
     android:bottom="0dp"/> 
    <corners android:bottomRightRadius="10dp" 
     android:bottomLeftRadius="10dp" 
     android:topLeftRadius="10dp" 
     android:topRightRadius="10dp"/> 
    </shape> 
+0

Спасибо, он отлично работает! – palatok

0

Если вы будете делать один вытяжку с углами, установленных в какую-то большой ценности:

<corners android:radius="100dp" /> 

вы получите то, что вы хотите без 3 просмотров

+0

Я уже сделал это, он не работает. – palatok

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