Programing

xml을 사용하여 색상 드로어 블의 둥근 모서리 반경을 어떻게 설정합니까?

crosscheck 2020. 8. 20. 07:36
반응형

xml을 사용하여 색상 드로어 블의 둥근 모서리 반경을 어떻게 설정합니까?


안드로이드 웹 사이트에는 컬러 드로어 블에 대한 섹션이 있습니다. 이러한 드로어 블을 xml로 정의하는 것은 다음과 같습니다.

<resources>
    <drawable name="solid_red">#f00</drawable>
    <drawable name="solid_blue">#0000ff</drawable>
    <drawable name="solid_green">#f0f0</drawable>
</resources>

자바 API에서는 둥근 모서리를 정의하는 다음과 같은 방법이 있습니다.

setCornerRadius(float radius)

xml에서 둥근 모서리를 설정하는 방법이 있습니까?


사용 <shape>모서리가 둥근 XML에서 드로어 블을 만들 태그를. (색상 그래디언트 정의와 같은 모양 태그로 다른 작업을 수행 할 수도 있습니다).

다음은 흰색 배경, 검은 색 테두리 및 둥근 모서리가있는 드로어 블을 만들기 위해 내 앱 중 하나에서 사용중인 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>

mbaird의 대답은 잘 작동합니다. Android (적어도 2.1)에 버그가있는 것 같습니다. 개별 코너의 반경을 0으로 설정하면 모든 코너가 0으로 강제 설정됩니다 (적어도 "dp"단위의 경우입니다. 다른 장치와 함께 시도하지 마십시오).

나는 상단 모서리가 둥글고 하단 모서리가 정사각형 인 모양이 필요했습니다. 정사각형이되고 싶은 모서리를 0 : 0.1dp보다 약간 큰 값으로 설정하여이를 달성했습니다. 이것은 여전히 ​​정사각형 모서리로 렌더링되지만 다른 모서리가 0 반경이되도록 강제하지는 않습니다.


아래 코드를 시도하십시오

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners
    android:bottomLeftRadius="30dp"
    android:bottomRightRadius="30dp"
    android:topLeftRadius="30dp"
    android:topRightRadius="30dp" />
<solid android:color="#1271BB" />

<stroke
    android:width="5dp"
    android:color="#1271BB" />

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

참고 URL : https://stackoverflow.com/questions/2122199/how-do-i-set-the-rounded-corner-radius-of-a-color-drawable-using-xml

반응형