Use following code to set android web view set wrap_content height
- webview's parent should have match parent height
- and set webview as wrap_content height
---Layout file ---
---java file code---
Following is IMP part
<ScrollView android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="10dp"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_margin="@dimen/twenty" android:src="@drawable/img_sc2_logo" /> <WebView android:id="@+id/wvInfo" android:layout_width="match_parent" android:layout_height="wrap_content"> </WebView> </LinearLayout> </ScrollView>
---java file code---
Following is IMP part
binding.wvInfo.loadUrl(ApiRequestUtil.PAGE_APP_WELCOME); binding.wvInfo.getSettings().setLoadWithOverviewMode(true); binding.wvInfo.getSettings().setUseWideViewPort(true); binding.wvInfo.getSettings().setJavaScriptEnabled(true); binding.wvInfo.getSettings().setBuiltInZoomControls(false); ViewTreeObserver viewTreeObserver = binding.wvInfo.getViewTreeObserver(); viewTreeObserver.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { @Override public boolean onPreDraw() { int height = binding.wvInfo.getMeasuredHeight(); if( height != 0 ){ // Toast.makeText(getActivity(), "height:"+height,Toast.LENGTH_SHORT).show(); binding.wvInfo.getViewTreeObserver().removeOnPreDrawListener(this); } return false; } });