Freigeben über


Bildschirmtastatureingabemodus unter Android

Diese plattformspezifische Android-Plattform wird verwendet, um den Betriebsmodus für einen Eingabebereich für die Bildschirmtastatur festzulegen und wird in XAML verwendet, indem die Application.WindowSoftInputModeAdjust angefügte Eigenschaft auf einen Wert der WindowSoftInputModeAdjust Enumeration festgelegt wird:

<Application ...
             xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
             android:Application.WindowSoftInputModeAdjust="Resize">
  ...
</Application>

Alternativ kann sie mit der Fluent-API von C# genutzt werden:

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

App.Current.On<Android>().UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize);

Die Application.On<Android>-Methode gibt an, dass diese plattformspezifisch nur unter Android ausgeführt wird. Die Application.UseWindowSoftInputModeAdjust-Methode im Xamarin.Forms.PlatformConfiguration.AndroidSpecific-Namespace wird verwendet, um den Betriebsmodus für den Eingabebereich der Bildschirmtastatur festzulegen, wobei die WindowSoftInputModeAdjust-Enumeration zwei Werte bereitstellt: Pan und Resize. Der Pan-Wert verwendet die AdjustPan-Anpassungsoption, die die Größe des Fensters nicht ändert, wenn ein Eingabesteuerelement den Fokus hat. Stattdessen werden die Inhalte des Fensters verschoben, sodass der aktuelle Fokus nicht von der Bildschirmtastatur verdeckt wird. Der Resize-Wert verwendet die AdjustResize-Anpassungsoption, die die Größe des Fensters ändert, wenn ein Eingabesteuerelement den Fokus hat, um Platz für die Bildschirmtastatur zu schaffen.

Das Ergebnis ist, dass der Betriebsmodus für den Eingabebereich der Bildschirmtastatur festgelegt werden kann, wenn ein Eingabesteuerelement den Fokus hat:

Plattformspezifische Bildschirmtastatur