Xamarin / iOS / Android-聚焦文本字段时显示其他元素

问题描述 投票:0回答:1

我正在使用Microsoft Xamarin项目使用iOS的本机.xib文件和Android的.axml。当我专注于屏幕上的文本字段并显示键盘时,通常键盘会覆盖显示在文本字段下方的验证消息。

我想保持焦点行为,所以我希望有一种方法可以将焦点放在文本字段上并包括一个'buffer',以便可以在有键盘的情况下看到其他字段。

我发现聚焦然后滚动确实很麻烦,而不是最佳的用户体验。有更好的方法吗?

xamarin xamarin.android xamarin.ios
1个回答
0
投票

在iOS中,您可以使用插件Xamarin.IQKeyboardManager

在您的UIViewController中

public override void ViewDidLoad ()
{
    base.ViewDidLoad ();

    Xamarin.IQKeyboardManager.SharedManager.EnableAutoToolbar = true;
    Xamarin.IQKeyboardManager.SharedManager.ShouldResignOnTouchOutside = true;
    Xamarin.IQKeyboardManager.SharedManager.ShouldToolbarUsesTextFieldTintColor = true;
    Xamarin.IQKeyboardManager.SharedManager.KeyboardDistanceFromTextField = 300f;           
}

在Android中

您应该将布局放在ScrollView中

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:showIn="@layout/activity_main"
    android:fitsSystemWindows="true"
    android:scrollbars="vertical">


  //... your layout
</ScrollView>

并在Manifest.xml中设置windowSoftInputMode

android:windowSoftInputMode="adjustPan|stateHidden"
© www.soinside.com 2019 - 2024. All rights reserved.