我正在尝试获取标题“54dp”,其余活动是WebView。
当我在eclips的“图形布局”中预览我的活动时,它看起来不错。但是当在手机或模拟器上运行应用程序时,webview会占用整个屏幕。
这就是预览的样子以及我想要的样子:
但这是我在运行应用程序时看到的内容:
这就是布局xml的样子:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/page_background"
>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/Layout_Header"
android:layout_width="fill_parent"
android:layout_height="54dp"
android:orientation="horizontal"
android:background="@drawable/container_header"
android:paddingLeft="16dp"
android:paddingRight="16dp"
>
<ImageView
android:id="@+id/imgHeaderLogo"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="46dp"
android:contentDescription="@string/img_header_logo_description"
android:src="@drawable/header_logo"
android:layout_gravity="center"
/>
</LinearLayout>
<WebView android:id="@+id/web_engine"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
在活动java文件中我有这个:
WebView browser = (WebView) findViewById(R.id.web_engine);
WebSettings webSettings = browser.getSettings();
setContentView(browser);
当我应该这样做时:
setContentView(R.layout.activity_sign_in_web_view);
答案 0 :(得分:4)
这是因为某些重定向,打开浏览器应用程序,你可以使用
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
在WebView
中加载重定向。我刚遇到同样的问题并找到了解决方案here。
答案 1 :(得分:3)
将WebView的高度设置为0dp,将其权重设置为1。
<WebView android:id="@+id/web_engine"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>
答案 2 :(得分:1)
在xml中手动更改此视图以进行Web视图
android:layout_height="fill_parent"
作为
android:layout_height="200dp"
如果可行,请在“android:layout_height”
中更改height参数