코딩하는 개굴이

[안드로이드] Textview의 drawable 속성 본문

안드로이드

[안드로이드] Textview의 drawable 속성

개굴이모자 2021. 3. 6. 17:58
반응형

Textview의 drawable 속성

UI 적용 시 아래와 같이 구성이 필요한 경우가 있다. 이때, 보통은 textview 와 imageview로 만들어 구현하지만, 한번에 textview 로 끝낼 수 있는 속성이 존재한다.
image

Textview의 텍스트 주변에 이미지를 표시할 수 있는 속성

  • android : drawableLeft => 텍스트를 기준으로 왼쪽에 이미지 출력
    • android : drawableStart => 동일하나, API Level 17부터 가능
  • android : drawableRight => 텍스트를 기준으로 오른쪽에 이미지 출력
    • android : drawableEnd => 동일하나, API Level 17부터 가능
  • android : drawableTop => 텍스트를 기준으로 위쪽에 이미지 출력
  • android : drawableBottom => 텍스트를 기준으로 아래쪽에 이미지 출력
  • android : drawablePadding => 해당 속성으로 텍스트와 이미지 간의 padding 간격을 지정한다.

적용 방법

아래와 같이 사용하는데, 만일 해당 drawable에 이미지를 그대로 넣는다면 이미지의 원 크기가 그대로 반영된다.
따라서, 사이즈 등 속성을 지정한 layer-list를 넣는 방식으로 적용하였다.

go_img_customize.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:drawable="@drawable/go"
        android:width="40dp"
        android:height="40dp"/>
</layer-list>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/const_question_setting"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="DEFAULT"
            android:gravity="center_vertical"
            android:layout_marginTop="15dp"
            android:layout_marginBottom="15dp"
            android:layout_marginStart="30dp"
            android:layout_marginEnd="20dp"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:drawableEndCompat="@drawable/go_img_customize"
            />
</androidx.constraintlayout.widget.ConstraintLayout>

참고 링크

반응형

'안드로이드' 카테고리의 다른 글

[안드로이드] Firebase 적용하기  (0) 2021.03.13
[안드로이드] 의존성 주입 (DI) 란?  (0) 2021.03.13
안드로이드 앱 난독화  (0) 2021.02.21
Static 에 대하여  (0) 2021.02.21
Singleton 패턴에 대하여  (0) 2021.02.21
Comments