일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- deeplink
- FLUTTER
- 연결리스트
- storyboard
- 플러터
- Xcode
- xocde
- 백준
- Swift
- 자바
- customPopup
- Android Studio
- 링크드리스트
- 안드로이드
- TextField
- 버블정렬
- label
- 준코딩
- Android
- 안드로이드스튜디오
- BAEKJOON
- 보호와 보안
- swift baekjoon
- android java
- Firebase
- 커스텀팝업
- IOS
- C언어
- 예외처리
- text to speech
Archives
- Today
- Total
준코딩
Pull to Refresh 당겨서 새로고침 본문
앱을 사용하다보면 ScrollView 나 WebView 에서 당겨서 새로고침 하는 기능이 필요할 떄가 있습니다.
저는 androidX 버전 업데이트를 진행 한 상태입니다.
1. 우선 build.gradle (Module : app) 에서 implementation 을 진행해 줍니다.
2.우측 상단에 Sync Now 해주시고.
3. 저는 WebView 를 당겨서 새로고침 해보겠습니다. (scrollview도 똑같이 하시면 됩니다.)
가장 하단에 작성한 webview 에서 새로고침 할 예정입니다.
4. <WebView> 부분을 <androidx.swiperefreshlayout.widget.SwipeRefreshLayout 으로 감싸줍니다.
여기까지 하셨다면 xml 파일에서 해야할 건 끝낫습니다.
5. 이제 Class 파일로 오셔서
private SwipeRefreshLayout swipeRefreshLayout;
선언을 해줍니다.
6. 그리고 onCreate() 안에
swipeRefreshLayout = findViewById(R.id.contentSwipeLayout);
레이아웃이랑 연결 시켜주고.
7.
swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
// 새로고침 이벤트 처리
myBrowser.reload();
swipeRefreshLayout.setRefreshing(false);
}
});
코드를 작성해줍니다. 여기서 myBrowser 는 제가 작성한 webView 입니다. 각각 명시하신 webview 나 scrollview로 변경해주세요.
8. 그리고 화면이 맨 위에 도달했을때 새로고침 해줘야하기때문에 Y좌표가 0일때만 실행되게 하겠습니다.
swipeRefreshLayout.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener(){
@Override
public void onScrollChanged(){
if(myBrowser.getScrollY() == 0 ){
swipeRefreshLayout.setEnabled(true);
} else {
swipeRefreshLayout.setEnabled(false);
}
}
});
(7번, 8번도 onCreate() 안에 작성해야합니다! )
위와 같이 작성이 끝나고 실행해보면 당겨서 새로고침이 되는걸 확인 할 수 있습니다~
'프로그래밍 > Android(JAVA)' 카테고리의 다른 글
핑거푸시 연동하기 (FingerPush Android) (0) | 2023.06.26 |
---|---|
파이어베이스 다이나믹링크 Android13 버전 에러 (0) | 2023.06.26 |
Android(java) 앱 버전 업데이트 빌드 에러[The destination foler does not exist or is not writeable] (2) | 2023.04.05 |
Firebase SDK 연동하기 (Android Java) (0) | 2023.03.30 |
Android(JAVA) TTS Text to Speech (0) | 2023.03.29 |
Comments