IT recording...

[Android] 특정 요소만 테두리 주기,테두리 둥글게, 요소 스타일 각기 다르게 본문

Android

[Android] 특정 요소만 테두리 주기,테두리 둥글게, 요소 스타일 각기 다르게

I-one 2020. 8. 16. 15:56

디자인을 하다 보면 특정 요소에만 왼쪽 테두리, 오른쪽 테두리 등을 주고 싶은 때가 있다.

 

형광펜 친 것과 같이 한쪽만 테두리 주기 등 

사용법

1. drawable에 xml파일을 생성한다. ex) left_stroke.xml

2. 적용하고 싶은 요소에 background 속성을 이용하여 스타일을 적용한다.
android:background="@drawable/left_stroke"

 

1-1. left_stroke.xml //왼쪽만 테두리 있게 하기

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#669900" />
        </shape>
    </item>
    <item android:left="0.4dp">
        <shape android:shape="rectangle">
            <solid android:color="#FFFFFF" />
        </shape>
    </item>
</layer-list>

1-2. round_style.xml //테두리 둥그렇게 하기 

> radius값 조절

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="false" android:state_pressed="false">
        <shape>
            <solid android:color="#FFFFFF"/>
            <stroke android:color="#669900"
                android:width="0.5dp"/>
            <corners android:radius="4dp" />
        </shape>
    </item>
</selector>

 

2. android:background="@drawable/left_stroke"

<LinearLayout
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_marginLeft="3dp"
        android:background="@drawable/left_stroke">

 

테두리 말고도 특정 요소의 배경 색상 등을 별도의 xml파일 생성하여 background를 통해 지정 가능하다. 

Comments