삽질도사

[안드로이드-자바] 밑줄(외곽선) 주기 및 backgroundcolor(배경색) 코드로 바꾸기 본문

안드로이드

[안드로이드-자바] 밑줄(외곽선) 주기 및 backgroundcolor(배경색) 코드로 바꾸기

전성진블로그 2021. 4. 9. 21:18
반응형

아래 보이는 코드는 4각형 외곽선을 주는 코드에서 bottom만 살림으로써 밑줄처럼 보이게 했음.

중요한건 저 item에 있는 bottom 값이 stroke에 있는 두께(width)에 비해 너무 적으면 번져보이고,

너무 크면 마진을 준 것같은 효과가 나기때문에 문제가 생긴다. 

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:bottom="0.3dp" 
        android:left="-2dp"
        android:right="-2dp"
        android:top="-2dp">
        <shape android:shape="rectangle" >
            <stroke
                android:width="0.5dp"
                android:color="#37000000" />
            <solid android:color="#FFF"/>
        </shape>
    </item>
</layer-list>

stroke보다 너무 작은 값을 줬을 때 저렇게 번져 보임.
너무 많이주면 붕떠보임
적당히 잘 맞추면 딱 맞음...ㅎ (더 좋은 방법있으면 알려주세요 ㅜㅜ)

코드치다보면 background로 설정한 테두리에 색상을 바꿨다가 원래대로 돌려놓고 싶은데, background에 이미 테두리가 있어서 색상만 바꾸면 테두리가 날아가버리는 경우가 생기므로 본인은 drawable에 똑같은 테두리에 색상만 바꿔준 걸로 파일을 하나 추가해서 그걸로 바꿔줬음.

 

바탕색만 슬쩍

 

원하는 레이아웃(findviewbyid로 찾은).setBackgroundResource(R.drawable.파일명)으로 코드내부에서 원하는 시점에 바꿀 수 있음.

반응형