woong's

Android Support Design Snackbar 사용하기[2] 본문

Develop/Android

Android Support Design Snackbar 사용하기[2]

dlsdnd345 2016. 2. 14. 18:37

Android Support Design Snackbar 사용하기


 


안녕하세요. 저번 포스트에서는 

Android Support Design TextInputLayout & AppCompatEditText 사용 하기[1]

를 포스트 했었습니다 .

이번에는 SnackBar 를 설명 드리려 합니다.


SnackBarPopup + Toast 의 기능이 혼합된 View 라고 보시면 됩니다.


Popup = 팝업은 확인/ 취소를 눌러야만 사라지는 화면

Toast = 몇초후에 사라지는 화면


두가지 기능을 혼합한 뷰가 SnackBar 입니다 .



사용 준비

 

위 SnackBar 를 사용하기 위해서는 라이브러리를 추가해 주셔야 합니다 . 


1
2
3
4
5
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



제가 작성 한 코드 입니다.

코드만 봐도 명확해서 따로 설명은 필요 없을것 같으나 , 간단한 부연 설명 작성해 보겠습니다.


1
2
3
4
5
6
7
8
9
10
        //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의 버튼 이벤트를 부여 하는 코드입니다.


선택시 이벤트를 통해서 부여하고 싶은 기능을 만들면 될것 같습니다 ^^


용도에 따라 잘 사용하면 괜찮은 위젯으로 사용될 수 있을것 같습니다.


Comments