안드로이드/개발관련(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로 지정을 해주면 된다.
반응형