일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 안드로이드앱
- 지산동카페
- 동성로핫플
- 인스타핫플
- 대구인스타핫플
- 안드로이드개발
- Android
- 범물동
- 수성구카페
- 의무경찰
- 범물동카페
- 파이썬
- 감성카페
- 코딩공부
- 애드센스
- 어플개발
- 동성로카페
- 동성로맛집
- 수성구맛집
- 애드몹
- 개발자
- 안드로이드스튜디오
- 코딩
- 안드로이드
- 앱개발
- 안드로이드앱개발
- 대구카페
- androidstudio
- 대구맛집
- 대구핫플
- Today
- Total
Glacier's Daily Log
Android) Snackbar 스낵바 메세지 사용해보기 - Toast 의 업그레이드 버전 본문
안드로이드 앱 개발 중, Toast 메세지는 거의 필연적으로 쓰인다.
개발 중, 소스코드가 제대로 작동하는지, 어디서 오류가 나는지
컴파일 용도로 쓰이기도 하고,
사용자들에게 어플이 작동하고 있다는 피드백으로 사용하기도 한다.
실제로 시중에 출시된 어플들을 사용해보면 토스트 메세지를 사용하는 어플들이 굉장히 많다.
오늘은, Toast 메세지의 업그레이드 버전인 'Snackbar' 스낵바 메세지를 사용하는 법을 알아보자.
스낵바 메세지는 안드로이드 머터리얼 디자인에 조금 더 가까운 모습을 하고 있다.
우선 내가 지금 개발중인 어플에 적용한
스낵바 메세지를 보여주도록 하겠다.
이렇게, 하단에 바 형태로 띄워진다.
그러면 어떻게 구현하는지 알아보자.
implementation 'com.android.support:design:28.0.0'
우선, 안드로이드 서포트 디자인을 implementation 한다.
gradle의 app수준에 추가하면 된다.
이렇게 간단히 구현할 수 있다.
나는 edittext에 포커스가 가면 스낵바를 띄우도록 구현했기 때문에
onFocusChange 구문을 사용했다.
일반적으로는 onClickListener를 사용하면 될 것이다.
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
Snackbar.make(v, "하고싶은말.", Snackbar.LENGTH_INDEFINITE)
.setAction("Yes",null)
.show();
}
});
뒤에 Snackbar.LENGTH_INDEFINITE 부분을 조절하면
길게 표시할지, 짧게 표시할지, 사라지지 않게 할지 결정 할 수 있다.
하지만 스낵바의 토스트보다 좋은점은 따로 있다.
사용자의 피드백을 받을 수 있다는 것이다.
이렇게 YES 버튼을 눌러야 사라지게 할 수 있는 것이다.
또는 다른 버튼을 구현해서, 어떤 기능을 추가 할 수 도 있다.
이렇게, setAction 안에 onClickListener 를 또 집어 넣어서
구현 할 수 있다.
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
Snackbar.make(v, "하고싶은말.", Snackbar.LENGTH_INDEFINITE)
.setActionTextColor(Color.parseColor("#FF0000"))
.setAction("Yes",new View.OnClickListener()
{
@Override
public void onClick(View v)
{
}
}).show();
}
});
이렇게, 토스트 메세지처럼 간단하게 구현할 수 있고
디자인도 깔끔해서 사용하기 좋은 것 같다.
내 포스팅으로 개발에 많은 도움이 되었으면 한다.
'Coding > Android' 카테고리의 다른 글
Android) LinearLayout 에서 오른쪽 정렬하기 안될때 - View 이용하기 (0) | 2020.05.22 |
---|---|
Android) Gradle sync failed: Your project path contains non-ASCII characters 해결법 (0) | 2020.05.21 |
애드몹 무효트래픽 광고 게재 제한 언제 풀리나요? - 지금. (22) | 2020.05.17 |
Android) 안드로이드 View에 그림자 효과 주기 - elevation 를 사용한 간단한 shadow effect (2) | 2020.05.17 |
'의무경찰 성적표' - 의무경찰 전역일계산기 어플 추천 (0) | 2020.05.14 |