【问题标题】:Xamarin webview does not fill screenXamarin webview 不填满屏幕
【发布时间】:2020-01-19 13:00:57
【问题描述】:

我目前正在创建一个 Xamarin Forms 应用程序,该应用程序具有一个必须覆盖整个设备屏幕的 web 视图。

不幸的是我不知道怎么做,我下面总是有一个白条,这是一个错误吗?我关掉了我的导航栏,因为我不想展示它。 我按照here的解释使用了混合网络视图@

我已经尝试过使用网格、堆栈布局和绝对布局,

更新 已经尝试在布局和 web 视图中将 padding 和 margin 设置为 0,也不起作用..

我当前的布局如下所示:

<?xml version="1.0" encoding="utf-8" ?>

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:d="http://xamarin.com/schemas/2014/forms/design"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:controls="clr-namespace:EatyAndroidApp.Controls"
             mc:Ignorable="d"
             x:Class="EatyAndroidApp.CustomWebViewPage"
             NavigationPage.HasNavigationBar="False"
             NavigationPage.HasBackButton="False"
             BackgroundColor="#313131">
    <ContentPage.Content>

        <StackLayout HorizontalOptions="Fill" VerticalOptions="Center">
            <controls:HybridWebView
            x:Name="hybridWebView"
            BackgroundColor="#313131"
            HorizontalOptions="FillAndExpand"
            VerticalOptions="FillAndExpand"
            />
        </StackLayout>

    </ContentPage.Content>

</ContentPage>

这产生了我:(我模糊了内容) Image

提前谢谢你

【问题讨论】:

  • 我不希望它是全屏的,我希望我填充应用程序的上下文:/
  • 如果删除 StackLayout 会发生什么?如果 HybridWebView 是屏幕上唯一的东西,那么应该没有任何理由拥有它。
  • 抱歉,我无法重现这个问题,能否分享一个 baisc 演示,以便我们进行测试?
  • 你可以尝试使用类似这样的 AbsoluteLayout...

标签: android xamarin xamarin.forms webview


【解决方案1】:

好的,我想通了,不知何故,webview 不知道它的高度和宽度,我不得不通过 Javascript 手动访问它并设置新的布局:
里面
public override async void OnPageFinished(Android.Webkit.WebView view, string url)
直接执行

view.EvaluateJavascript("document.documentElement.style.height = screen.height + 'px';", null);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-20
    • 2012-11-02
    • 2019-01-28
    • 2012-04-02
    • 2015-07-31
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多