반응형

이번 포스팅에서는 SwipeRefreshLayout을 활용한 예제를 알아보도록 하겠습니다. 


SwipeRefreshLayout은 Support Library v4에서부터 지원이 가능한 레이아웃입니다. 

요즘 Gmail이나 NHN등 여타 어플리케이션에서 많이 사용하고 있으므로 한번 구현해 보도록 하겠습니다.


1. 먼저 File...> Project Structure...> 에서 아래와 같이 Library Dependency를 추가합니다.



2. build.gradle 파일을 열어 Dependency에 아래 그림과 같이 추가해 줍니다.



3. 이제 설정 부분은 됐습니다. 이제 뷰 영역인 Resouce XML 파일을 구현하겠습니다. 

XML 파일에 SwipeRefreshLayout이 들어갈 부분에 아래 그림과 같이 구현해 줍니다.





4. 이제 Activity 영역을 구현하겠습니다. 

먼저 클래스 선언부에 아래와 같이 SwipeRefreshLayout.OnRefreshListner Interface를 implement 해 줍니다.

Implement 하게 되면 onRefresh()라는 메소드를 오버라이딩 해야 합니다.




5. OnCreate 든 OnResume 이든 Layout 초기화 하는 부분에 아래 그림과 같이 구현 해 줍니다.



6. 이제 마지막으로 SwipeRefreshLayout.OnRefreshListner Interface를 implement 했으므로

onRefresh()라는 메소드를 오버라이딩 해줍니다. 


여기서 중요한 건 아래 네모난 박스에 실제로 비지니스 로직을 구현해 줍니다. 



그리고 비지니스 로직을 다 구현했으면 loadingbar가 사라지게 하기 위해 

mSwipeRefreshLayout.setRefreshing(false) 라고 구현해 줍니다




실제로 구현하면 아래와 같이 Swipe 했을 시에 loadingbar가 나오면서 데이터를 로딩하고 데이터 로딩이 완료되면 loadingbar는 사라지게 됩니다.




반응형
반응형

이번 포스팅은  GridLayout 특징에 대하여 알아보도록 하겠습니다.


1. 바둑판과 같은 행과 열로 이루어진 격자 모양으로 위젯을 배치할 수 있도록 하는 Layout


2. API 14부터 제공


3. API 14 미만 버전에서는 gridlayout-v7(API 7 이상부터 사용 가능) 이라는 Support  레이아웃을 통해 하위 버전에서도 사용 가능


4. GridLayout 내에 위젯을 배치하면 orientation에 의해 자동으로 가로 또는 세로로 우선으로 배치되고

    가로 또는 세로의 개수는 columnCount나 rowCount로 설정할 수 있다. (기본orientation 은 가로)


5. 위젯은 layout_column과 layout_row로 원하는 위치를 지정할 수 있고, layout_gravity로 정렬 방식을 지정


6. 위젯은 layout_columnSpan과 layout_rawSpan으로 Cell간 합치기를 가능


7. API 21부터는 layout_columnWeight와 layout_rowWeight를 제공


   (weight를 지정하려면 모든 셀에 지정)


8. GridLayout 속성


   # useDefaultMargin - 위젯간 default 여백(4dp) 설정 여부로 설정하지 않으면 0dp

   # alignmentMode - GridLayout 내에서의 위젯의 정렬 기준(alignBounds, alignMargins)

반응형

'Development > Android' 카테고리의 다른 글

[Android] Lollipop (Android OS 5.0) 특징  (0) 2016.04.22
[Android] Android의 구조  (0) 2016.04.22
[Android] dp를 px값으로 변환  (0) 2016.04.14
[Android] View의 터치영역 넓히기  (0) 2016.03.25
[Android] AsyncTask 중지하기  (0) 2016.03.23

+ Recent posts