我正在使用Microsoft Xamarin项目使用iOS的本机.xib文件和Android的.axml。当我专注于屏幕上的文本字段并显示键盘时,通常键盘会覆盖显示在文本字段下方的验证消息。
我想保持焦点行为,所以我希望有一种方法可以将焦点放在文本字段上并包括一个'buffer',以便可以在有键盘的情况下看到其他字段。
我发现聚焦然后滚动确实很麻烦,而不是最佳的用户体验。有更好的方法吗?
在您的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;
}
您应该将布局放在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"