2015-04-22 2 views
2

Я пытаюсь получить форму, как показано на рисунке, прямоугольник с углами полностью круглый: enter image description hereМаксимального значения для прямоугольника с закругленными углами в Android

Но, кажется, я не могу получить углы «круглее», чем в эта цифра:

enter image description here

Почему? существует максимальное значение для <corners android:radius="integer" />? Конечно, я мог бы сделать это с помощью png, но я полагаю, что использование формы более эффективно, поэтому я бы предпочел это.

Мой код:

<Button 
    android:id="@+id/button_guest" 
    android:layout_width="315dp" 
    android:layout_height="80dp" 
    android:background="@drawable/rounded_rectangle" 
    android:contentDescription="@string/text_button_guest" 
    android:onClick="startGuestMode" 
    android:text="@string/text_button_normal" 
    android:textAllCaps="false" 
    android:textColor="#ff000000" 
    android:textSize="50sp" 
    android:layout_marginLeft="125dp" 
    android:layout_marginStart="125dp" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 

rounded_rectangle.xml:

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

нет, нет предела – pskink

+0

Чтобы получить в качестве первого изображения (полукруг углы на левой и правой стороне), установите 'угловой размер = половина height'. В вашем случае ** 40dp **. –

+0

@pskink Я знаю, но код выше не работает; см. ниже для моего решения. – ocramot

ответ

8

Хорошо, я люблю, когда я чешу голову в течение нескольких часов, то я в конечном итоге задать вопрос здесь, а потом найти ответ один на один менее чем за 10 минут: D

Решение находится в моем коде ниже. Вы бы подумали, что это должно иметь такое же поведение, но, по-видимому, это не так. Вероятно, еще одна ошибка вокруг закругленных углов.

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#ffffff" /> 
    <corners 
     android:bottomLeftRadius="40dp" 
     android:bottomRightRadius="40dp" 
     android:topRightRadius="40dp" 
     android:topLeftRadius="40dp" 
     /> 
</shape> 
+0

Ох ... это помогло. Благодаря! – shkschneider

+0

Пожалуйста, отметьте ответ для остальных;) – rasmeta

+0

«Вы можете принять свой собственный ответ за 2 дня»;) – ocramot

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

  • Нет связанных вопросов^_^