프로그래밍 언어/Android

Android View의 상단과 하단에 테두리를 추가하는 쉬운 방법

Rateye 2021. 11. 3. 10:28
728x90
반응형
질문 : Android View의 상단과 하단에 테두리를 추가하는 쉬운 방법이 있습니까?

TextView가 있고 위쪽 및 아래쪽 테두리를 따라 검은 색 테두리를 추가하고 싶습니다. android:drawableTopandroid:drawableBottom 을 TextView에 추가하려고했지만 이로 인해 전체보기가 검은 색이되었습니다.

<TextView
    android:background="@android:color/green"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:drawableTop="@android:color/black"
    android:drawableBottom="@android:color/black"
    android:text="la la la" />

Android의 View (특히 TextView)에 상단 및 하단 테두리를 쉽게 추가하는 방법이 있습니까?

답변

Android 2.2에서는 다음을 수행 할 수 있습니다.

/res/drawable/textlines.xml과 같은 xml 드로어 블을 만들고이를 TextView의 배경 속성으로 할당합니다.

<TextView
android:text="My text with lines above and below"
android:background="@drawable/textlines"
/>

/res/drawable/textlines.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
      <shape 
        android:shape="rectangle">
            <stroke android:width="1dp" android:color="#FF000000" />
            <solid android:color="#FFDDDDDD" />

        </shape>
   </item>

   <item android:top="1dp" android:bottom="1dp"> 
      <shape 
        android:shape="rectangle">
            <stroke android:width="1dp" android:color="#FFDDDDDD" />
            <solid android:color="#00000000" />
        </shape>
   </item>

</layer-list>

이것의 단점은 투명도가 작동하지 않기 때문에 불투명 한 배경색을 지정해야한다는 것입니다. (적어도 나는 그들이 그렇게 생각했지만 나는 착각했다). 위의 예에서 첫 번째 모양 #FFdddddd의 단색이 두 번째 모양 획 색상으로 복사 된 것을 볼 수 있습니다.

출처 : https://stackoverflow.com/questions/1598119/is-there-an-easy-way-to-add-a-border-to-the-top-and-bottom-of-an-android-view
728x90
반응형