Android] 웹뷰 스크롤 시 BottomNavigationView 숨기기
🎈 웹뷰 스크롤시 더 넓은 화면을 제공을 위해 BottomNavigationView 숨기면 좋지 않을까
방법 : 웹뷰 내에 스크롤 감지 하는 이벤트가 있기에 안에 Y부분이 변동되면 숨기게 로직을 작성하면 되지 않을까...라고생각을 했.다...
일단 메인엑티비티페이지에
public void hideBottomNavigationView(boolean b) {
if (b) {
BottomNavigationView Bview = null;
Bview.clearAnimation();
Bview.animate().translationY(Bview.getHeight()).setDuration(300);
} else {
BottomNavigationView Bview = null;
Bview.clearAnimation();
Bview.animate().translationY(0).setDuration(300);
}
}
웹뷰 스크롤 리스턴 부분에 해당 코드를 추가 하였다.
if (scrollY>200)
{
((MainActivity)getActivity()).hideBottomNavigationView(true);
}
else
{
((MainActivity)getActivity()).hideBottomNavigationView(false);
}
😣 오류
https://stackoverflow.com/questions/31416568/could-someone-help-me-with-this-crash-report
@Override
public void onDestroyView() {
super.onDestroyView();
if (myWbView != null) {
myWbView.destroy();
webView=null; // remove webView, prevent chromium to crash
}
}
- destroy()를 하는 이유?
Webview 를 xml layout으로 잡을 경우 메모리 누수가 발생할 수 있다. 그렇게 때문에 onDestroy 에서 webview 를 명시적으로 해제 시켜야 함.(혹은 xml이 아닌 코드상으로 WebView객체를 직접 만들어 써야함)
😣 오류
웹뷰 내에 Destroy 를 했지만 똑같은 오류가 계속 발생했다.
추가로 찾아보니
webView.getSettings().setSaveFormData(false);
옵션을 설정하면 된다는 얘기가 있어서 수정을 했다.
하지만 똑같은 오류가 계속되어 찾아서 해결한후 해결 법 추가 포스팅을 할예정이다.
왜안되는거야ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅠ
Author And Source
이 문제에 관하여(Android] 웹뷰 스크롤 시 BottomNavigationView 숨기기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@opaswx1/Android-웹뷰-스크롤-시-BottomNavigationView-숨기기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)