Teilen über


WebView Zoom unter Android

Diese plattformspezifische Android-Plattform ermöglicht zusammendrückend zu zoomen und ein Zoom-Steuerelement auf einem WebView. Sie wird in XAML genutzt, indem Sie die bindbaren Eigenschaften WebView.EnableZoomControls und WebView.DisplayZoomControls auf die Werte boolean festlegen:

<ContentPage ...
             xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core">
    <WebView Source="https://www.xamarin.com"
             android:WebView.EnableZoomControls="true"
             android:WebView.DisplayZoomControls="true" />
</ContentPage>

Die bindbare Eigenschaft WebView.EnableZoomControls steuert, ob der Zwei-Finger-Zoom in der WebView aktiviert ist, und die bindbare Eigenschaft WebView.DisplayZoomControls steuert, ob Zoomsteuerelemente in der WebView überlagert werden.

Alternativ können die Plattformeigenschaften von C# aus über die Fluent-API genutzt werden:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
...

webView.On<Android>()
    .EnableZoomControls(true)
    .DisplayZoomControls(true);

Die WebView.On<Android> Methode gibt an, dass diese plattformspezifisch nur auf Android läuft. Die WebView.EnableZoomControls-Methode im Xamarin.Forms.PlatformConfiguration.AndroidSpecific-Namenspace steuert, ob der Zwei-Finger-Zoom in der WebView aktiviert ist. Die WebView.DisplayZoomControls-Methode im selben Namespace steuert, ob Zoomsteuerelemente in der WebView überlagert sind. Darüber hinaus kann mithilfe der Methoden WebView.ZoomControlsEnabled und WebView.ZoomControlsDisplayed zurückgegeben werden, ob der Zwei-Finger-Zoom bzw. Zoomsteuerelemte aktiviert sind.

Das Ergebnis ist, dass der Zwei-Finger-Zoom in einer WebView aktiviert ist und Zoomsteuerelemente in der WebView überlagert werden:

Screenshot der vergrößerten WebView unter Android

Wichtig

Zoomsteuerelemente müssen sowohl aktiviert als auch angezeigt werden, und zwar über die entsprechenden bindbaren Eigenschaften oder Methoden, damit sie einer WebView überlagert werden können.