Develop/Android
Android Support Design Snackbar 사용하기[2]
dlsdnd345
2016. 2. 14. 18:37
Android Support Design Snackbar 사용하기

안녕하세요. 저번 포스트에서는 Android Support Design TextInputLayout & AppCompatEditText 사용 하기[1] 를 포스트 했었습니다 . 이번에는 SnackBar 를 설명 드리려 합니다.
SnackBar 는 Popup + Toast 의 기능이 혼합된 View 라고 보시면 됩니다.
Popup = 팝업은 확인/ 취소를 눌러야만 사라지는 화면 Toast = 몇초후에 사라지는 화면
두가지 기능을 혼합한 뷰가 SnackBar 입니다 .
사용 준비 위 SnackBar 를 사용하기 위해서는 라이브러리를 추가해 주셔야 합니다 .
|
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:design:22.2.1'
}
|
cs |
compile 'com.android.support:design:22.2.1'
위 코드를 통해서 design 라이브러리를 추가해서 라이브러리를 준비 합니다.
사용방법
위와 같이 준비가 되면 snackBar 사용 준비가 완료 되었습니다.
snackBar 는 Toast 사용 방법과 비슷 한것 같습니다. xml 을 따로 만들 필요는 없이 java코드만 작성 하면 쉽게 사용 할 수 있습니다.
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
31
32
33
34
35
36
37
38
39
40
|
public class MainActivity extends AppCompatActivity {
private RelativeLayout layoutRoot;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initLayout();
init();
}
/**
* 데이터 초기화
*/
private void init(){
//Snackbar 생성
Snackbar sb = Snackbar.make(layoutRoot, "Hello World", Snackbar.LENGTH_LONG);
//Snackbar 버튼 선택시 호출 되는 이벤트 리스너
sb.setAction("OK", new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
sb.show();
}
/**
* 레이아웃 초기화
*/
private void initLayout(){
layoutRoot = (RelativeLayout) findViewById(R.id.layoutRoot);
}
}
|
cs |
제가 작성 한 코드 입니다. 코드만 봐도 명확해서 따로 설명은 필요 없을것 같으나 , 간단한 부연 설명 작성해 보겠습니다.
|
//Snackbar 생성
Snackbar sb = Snackbar.make(layoutRoot, "Hello World", Snackbar.LENGTH_LONG);
//Snackbar 버튼 선택시 호출 되는 이벤트 리스너
sb.setAction("OK", new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
sb.show();
|
cs |
위 코드가 핵심 코드입니다.
첫줄은 SnackBar 생성 코드 입니다. 파라미터로는
첫번째 파라미터 : 해당 액티비티 root view 를 넣어 주면 될것 같습니다. 두번째 파라미터 : SnackBar 에 표시될 이름 입니다. 세번째 파라미터 : Toast와 같이 짧게/길게 보여줄지 시간을 지정하는 데이터가 들어가면 될것 같습니다.
아래 코드는 SnackBar의 버튼 이벤트를 부여 하는 코드입니다.
선택시 이벤트를 통해서 부여하고 싶은 기능을 만들면 될것 같습니다 ^^
용도에 따라 잘 사용하면 괜찮은 위젯으로 사용될 수 있을것 같습니다.
|