Webview并没有占据全部高度

时间:2016-03-29 02:17:16

标签: android webview

我正在使用带有TabLayout的导航抽屉。我有一个片段,其中是WebView,但webview在运行时并没有占据全高。我尝试更改webview /相对布局高度,但没有工作。在设计师中,高度与屏幕导航按钮上的设备完美匹配。

我的xml代码

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

                    android:layout_width="match_parent"
                    android:layout_height="match_parent">


        <WebView
            android:id="@+id/website_detail_1"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        </WebView>

        <ProgressBar
            android:id="@+id/progressBar1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:indeterminate="false"/>


    </RelativeLayout>

我的Java代码

public class Tab1Fragment extends Fragment {

    public WebView webView;
    public ProgressBar progressBar;

    public Tab1Fragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_tab1, container, false);


    }

    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
//

         progressBar = (ProgressBar) view.findViewById(R.id.progressBar1);
      //  String url = "http://www.carsaleindiaofficial.com/?m=1";
        webView = (WebView) view.findViewById(R.id.website_detail_1);
        webView.setWebViewClient(new MyAppWebViewClient());
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setDomStorageEnabled(true);
        //view.loadUrl(url);
        webView.loadUrl("https://www.yahoo.com");
        // view.loadUrl("file:///android_asset/web.html");


    }

    public class MyAppWebViewClient extends WebViewClient {

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            //view.findViewById(R.id.progressBar1).setVisibility(View.GONE);
            Log.i("pageFinished", "yesss");
            progressBar.setVisibility(View.INVISIBLE);
            //progressBar.setVisibility(View.GONE);
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
        }


        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }


    }
}

结果 enter image description here

3 个答案:

答案 0 :(得分:1)

问题在于viewpager高度。

答案 1 :(得分:0)

我相信您需要将进度条设置为VISIBILITY GONE。

INVISIBLE仍保留空间。

答案 2 :(得分:0)

尝试

    <activity
        android:name="YourActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:screenOrientation="portrait">
    </activity>