728x90
안녕하세요
오늘은 TextInputLayout 을 사용해서, EditText에 힌트나 오류메시지 등을 표시하는 기능을 알아보겠습니다.
TextInputLayout 을 사용하면, 입력필드에 추가적인 UI를 효과적으로 나타낼 수 있습니다.
우선 Material Design을 의존성에 추가해야합니다.
build.gradle(Module:app) 파일에 의존성을 추가하도록 하겠습니다.
dependencies {
implementation("com.google.android.material:material:1.9.0")
}
전체 코드입니다.
MainActivity.java
public class MainActivity extends AppCompatActivity {
private TextInputLayout textInputLayout;
private TextInputEditText textInputEditText;
private Button btnSubmit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textInputLayout = findViewById(R.id.textInputLayout);
textInputEditText = findViewById(R.id.textInputEditText);
btnSubmit = findViewById(R.id.btnSubmit);
btnSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (TextUtils.isEmpty(textInputEditText.getText())) {
textInputLayout.setError("필수 입력 항목입니다.");
} else {
textInputLayout.setError(null); // 오류 메시지 제거
textInputLayout.setHelperText("확인되었습니다");
}
}
});
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textInputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="아이디">
<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>
<Button
android:id="@+id/btnSubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="확인"
android:layout_marginTop="20dp" />
</LinearLayout>
TextInputLayout 을 사용해 EditText 에 힌트를 추가했습니다.
그리고 setError 메소드를 사용해, 사용자가 EditText에 값을 입력하지 않으면, 오류메시지를 표시하도록 했습니다.
이처럼 TextInputLayout은 사용자 입력에 대한 오류 검증과 시각적 피드백을 제공하기에 효과적인 기능입니다.
시연 영상입니다.
'안드로이드 자바' 카테고리의 다른 글
[JAVA][Android] SwipeRefreshLayout 사용하여 새로고침 기능 구현하기 (2) | 2024.10.21 |
---|---|
[JAVA][Android] TextUtils 클래스 사용해서 텍스트 문자열 처리하기 (0) | 2024.10.17 |
[JAVA][Android] 안드로이드 ImageSwitcher을 사용하여 부드럽게 이미지 전환하기 (2) | 2024.10.13 |
[JAVA][Android] Chip (칩) 기능 사용하기 (0) | 2024.10.11 |
[JAVA][Android] PopupWindow 표시하기 (0) | 2024.10.07 |