본문 바로가기
안드로이드 자바

[Java][Android] TextInputLayout의 Counter 기능 (글자 수 제한)

by teamnova 2024. 11. 20.
728x90

안녕하세요

 

오늘은, Material Design 의 TextInputLayout 을 사용하여

Counter 기능을 이용한 간편하게 글자 수 제한을 표시해보도록 하겠습니다.

 

우선 전체 코드입니다.

 

<?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"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context=".MainActivity">

    <com.google.android.material.textfield.TextInputLayout
      android:id="@+id/textInputLayout"
      android:layout_width="0dp"
      android:layout_height="wrap_content"
      android:hint="메시지 입력"
      app:counterEnabled="true"
      app:counterMaxLength="50"
      app:layout_constraintTop_toTopOf="parent"
      app:layout_constraintStart_toStartOf="parent"
      app:layout_constraintEnd_toEndOf="parent"
      app:layout_constraintHorizontal_bias="0.5"
      android:layout_marginStart="16dp"
      android:layout_marginEnd="16dp"
      android:layout_marginTop="24dp">

        <com.google.android.material.textfield.TextInputEditText
          android:id="@+id/textInputEditText"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"/>
    </com.google.android.material.textfield.TextInputLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

 

해당 레이아웃을 적용하여 counterMaxLength를 설정해주면,

따로 제한 글자 수 를 보여주는 뷰를 만들지 않아도 간편하고 효과적으로 기능을 구현할 수 있습니다.

 

시연 영상입니다.