EditText에 Text가 한글자라도 입력이 되면 버튼이 보여지고
입력이 되지 않으면 버튼이 보여지지 않는 것을 구현해 보겠습니다.
채팅창에서 글자를 입력하면 전송하는 버튼이 활성화 되어 메세지를 전송가능하게 할 때 사용이 많이 되는 것 같습니다.
addTextChangedListener 메서드를 활용하여 입력되는 텍스트에 변화가 있을 때마다 리스너 이벤트가 작동하게 합니다.
1. MainActivity.java
스틱코드를 사용하여 만들어 놓은 코드를 입력합니다. -> 아래쪽에 방법을 알려드릴게요~~!!
버튼이름과 입력하는 곳 이름을 수정합시다.
입력하기 전(beforeTextChanged) : 전송버튼이 보이지 않게
입력란에 변화가 있을 때(onTextChanged) : 전송버튼이 보이게
입력이 끝났을 때(afterTextChanged) : 아무 변화없음
2. activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat 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">
<LinearLayout
android:id="@+id/layout1"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:weightSum="10"
>
<EditText
android:id="@+id/etChat"
android:layout_width="0dp"
android:layout_weight="8.5"
android:layout_height="match_parent"
android:hint="메세지를 작성하세요."
android:gravity="center_vertical"
android:layout_marginStart="10dp"
android:maxHeight="84dp"
android:maxLines="5"
android:minLines="1">
</EditText>
<Button
android:id="@+id/btnChatSubmit"
android:layout_width="0dp"
android:layout_weight="1.5"
android:layout_height="wrap_content"
android:background="#00ff0000"
android:text="전송"
android:textColor="@color/red"
android:visibility="gone">
</Button>
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
** 스틱코드에 코드 등록하기**
https://stickode.com/howto.html#jetbrains_installation
4.
재시작 하면 우측에 사이드바가 보여집니다. 여기에서 언어를 선택하고 내가 검색할 키워드로 이름을 설정합니다.
그리고 상단코드에는 import가 될 코드들을 써주고
소스코드에는 내가 불러올 코드들을 넣어줍니다.
필요 시 태그를 추가해 주고 업로드를 해 주면 저처럼
이렇게만 입력해도 내가 저장한 코드가 나옵니다.
여러분들도 자주쓰게 되는 코드가 있다면 스틱코드를 활용하여 저장해 놓고 편리하게 사용해 보세요!
스틱코드 회원가입하러가기
https://stickode.com/signup.html
<결과>
1. text가 입력되지 않았을 때
2. text가 입력되었을 때
'안드로이드 자바' 카테고리의 다른 글
[JAVA][Android] 수업 종료 날짜 계산하기 (주 단위) (0) | 2021.09.22 |
---|---|
[JAVA][Android]안드로이드 스튜디오 QR코드 스캔하기 (0) | 2021.09.19 |
[JAVA][Android] WebView 만들기 (0) | 2021.09.15 |
[JAVA][Android] DatePickerDialog 만들기 (0) | 2021.09.10 |
[JAVA][Android] AR core 객체를 삭제하는 법 (0) | 2021.09.08 |