안드로이드/개발관련(Kotlin)

안드로이드 View에 외곽선(테두리) 추가하는 법

닉네임못짓는사람 2022. 1. 24. 18:20
반응형

안드로이드에서 디자인을 위해 View에 테두리를 넣는 법에 대해 알아보도록 하자.

흔히 말하는 '야매'로 해결하려면 다른 View를 하나 생성하여

두께를 1dp, 2dp 등으로 설정하여 해결할 수도 있지만, 이 방법은 조금 비효율적일 것이다.

 

그래서 테두리를 설정하기 위해 xml파일을 하나 만들어 View의 background로 설정할 것이다.

먼저, drawable폴더에 view_border.xml파일을 하나 만들어주도록 하자.

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

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:left="-2dp">
        <shape android:shape="rectangle" >
            <stroke
                android:width="3dp"
                android:color="#303030" />	<!--테두리 색-->

            <solid android:color="#000000" />	<!--배경 색-->
        </shape>
    </item>

</layer-list>

위의 코드를 보면, stroke에서 테두리의 두께와 색상을 설정할 수 있다.

위에선 3dp로 두께를 설정했고, solid에서 배경색을 지정할 수 있다.

View의 background로 지정하는 것이기 때문에 배경색을 맞춰서 잘 지정해주어야 한다.

 

그리고 item에서 방향마다 두께를 따로 설정할 수 있는데,

테두리를 없애고 싶은 방향을 마이너스(-)로 하여 stroke에 있는 두께와의 차이로 두께가 정해진다.

위의 파일을 적용하면 위, 아래, 오른쪽의 테두리는 3dp로 설정이 되지만 왼쪽은 1dp로 설정이 될 것이다.

테두리를 없애고 싶다면 둘의 차이를 0 이하로 하면 된다.

<TextView
    android:id="@id/text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/view_border"
    android:text="Text"/>

실제 적용은 위와 같이 view의 background로 지정을 해주면 된다.

반응형