Подтвердить что ты не робот

Круглые углы с бордюром

Я использую следующий код для округления углов, а также цветной контур:

<?xml version="1.0" encoding="UTF-8"?> 

<gradient 
    android:startColor="@color/white" 
    android:endColor="@color/white" /> 

<corners 
    android:bottomRightRadius="2dp" 
    android:bottomLeftRadius="2dp" 
    android:topLeftRadius="2dp" 
    android:topRightRadius="2dp"/> 

<stroke
    android:width="5dip"
    android:color="@color/black" />

round corners with border color

На изображении отображается то, что я получаю прямо сейчас. Из-за stroke закругленные углы лежат только на внешнем краю макета, а внутренний край черного контура образует прямоугольник с острыми краями. Как преобразовать острые края в закругленные углы?

4b9b3361

Ответ 1

Используйте тег <shape>, чтобы создать чертеж в XML с закругленными углами. (Вы можете делать другие вещи с тегом формы, например, также определять цветовой градиент).

Следующий код может помочь вам:

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

<stroke android:width="3dp"
        android:color="#ff000000"
        />

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

<corners android:bottomRightRadius="7dp" 
         android:bottomLeftRadius="7dp" 
         android:topLeftRadius="7dp"
         android:topRightRadius="7dp"/> 
</shape>

Ответ 2

Используйте эту настройку в соответствии с вашими потребностями.

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@android:color/transparent" />
    <stroke
        android:width="4dp"
        android:color="@android:color/holo_blue_light" />
    <corners android:radius="6dp" />
</shape>