스낵바(SnackBar)

 

 


토스트(Toast) 사용하기 : https://sseong66.tistory.com/36

 

스낵바와 토스트는 비슷한 기능을 하는데

토스트는 단순히 메시지를 띄우지만,

스낵바는 메시지 옆에 클릭할 수 있는 액션을 줄 수 있습니다.

 

스낵바를 사용하기 위해서는 build.gradle - dependencies에서 추가해줘야 합니다.

implementation 'com.android.support:design:28.0.0'

 

위의 implementation이 에러가 발생한다면

File -Project Structure - Dependencies - app에서 "+"를 눌러 Library Dependency에서 design을 검색해서

com.android.support로 된거를 선택해서 추가시켜주면 됩니다.

 

MainActivity에 코드 작성

btn_snackBar.setOnClickListener(new View.OnClickListener() {
	@Override
	public void onClick(View v) {

		Snackbar.make(v, "스낵바가 실행되었습니다!", Snackbar.LENGTH_SHORT).show();
	}
});

버튼을 누르면 SnackBar가 실행되도록 만들었습니다.

SnackBar는 make()함수를 통해서 구현이 가능하고 3개의 인자를 필요로 합니다.

첫 번째 인자는 View인 v를 넣어주고,

두 번째 인자는 표시할 내용,

세 번째 인자는 화면에 SnackBar가 표시될 시간을 나타냅니다.

  SnackBar.LENGTH_SHORT는 짧게! (약 2초)

  SnackBar.LENGTH_LONG은 길게! (약 5초)

 

마지막으로 .show()를 통해서 표시되도록하면 됩니다.

 

그리고 스낵바 메시지 옆에 버튼을 추가해주려면

btn_snackBar.setOnClickListener(new View.OnClickListener() {
	@Override
	public void onClick(View v) {

		Snackbar.make(v, "스낵바가 실행되었습니다!", Snackbar.LENGTH_SHORT).setAction("CLOSE", new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				// 버튼 클릭 시 실행한 내용 작성
			}
		}).show();
	}
});

.show() 전에 위와 같이 .setAction()을 써서 클릭했을 때 처리할 내용을 작성하시면 됩니다.

 


+ Recent posts