상세 컨텐츠

본문 제목

[안드로이드] 알림(Snackbar) 생성및 취소기능 만들어보기

안드로이드

by aries574 2021. 1. 3. 12:12

본문


2020/11/22 - [안드로이드] - [안드로이드] Toast 메시지 띄우는 방법

2020/12/06 - [안드로이드] - [안드로이드] 내맘대로 Toast(메시지) 꾸미기


이번 시간에는 간단한 알림메시지를 띄울 수 있는 Snackbar 기능을 이용해서 

메시지를 띄어보는 예제를 만들어 보겠습니다.

추가로 액션버튼 기능도 추가할 것입니다. 


Snackbar를 사용하기 위해서는 design 라이브러리를 등록해야 합니다.

등록하는 방법은 아래 방법을 사용하시면 됩니다.

2020/12/19 - [안드로이드] - [안드로이드]라이브러리 찾아 등록하는 방법


등록하시면 Gradle Scripts -> build.gradle(Module:app) -> dependencies 안에

design 라이브러리가 생성된 것을 볼 수 있습니다.

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



1. 메인화면 구현(activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:id="@+id/rootLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">


<Button
android:id="@+id/btn_snackbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="알림" />

</RelativeLayout>


2. 메인코드 구현(MainActivity.java)


import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.Toast;

import com.google.android.material.snackbar.Snackbar;

public class MainActivity extends AppCompatActivity{

Button btn_snackbar;

RelativeLayout layout;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

btn_snackbar = findViewById(R.id.btn_snackbar);

layout = findViewById(R.id.rootLayout);

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

showSnackbar();
}
});
}


//스낵바 실행
public void showSnackbar(){

Snackbar snackbar = Snackbar.make(layout, "실행되었습니다.", Snackbar.LENGTH_LONG);
snackbar.setAction("취소", new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "취소되었습니다", Toast.LENGTH_SHORT).show();
}
});
snackbar.show();
}
}


3. 실행화면


반응형

관련글 더보기

댓글 영역