Xamarin 将WindowsOfInputMode设置为AdjustPan时出现问题

Xamarin 将WindowsOfInputMode设置为AdjustPan时出现问题,xamarin,xamarin.android,xamarin.forms,xamarin-studio,xamarin.mac,Xamarin,Xamarin.android,Xamarin.forms,Xamarin Studio,Xamarin.mac,我在做Xamarin表单项目。我的应用程序中有许多输入字段,其中一个在弹出窗口中,弹出窗口在设备屏幕的中心打开。滚动视图中也有少数输入字段。问题只存在于Android应用程序。对于iOS来说,它工作得非常好。 当我点击弹出窗口侧的输入字段时,软键板被打开,弹出窗口的UI受到干扰。所以,我决定 WindowsOfInputMode=SoftInput。调整平移到我的主要活动。这解决了弹出窗口的UI问题,但现在当我单击其他输入字段时,我的![滚动视图停止滚动](侧滚动视图中几乎没有输入字段)。我尝试

我在做Xamarin表单项目。我的应用程序中有许多输入字段,其中一个在弹出窗口中,弹出窗口在设备屏幕的中心打开。滚动视图中也有少数输入字段。问题只存在于Android应用程序。对于iOS来说,它工作得非常好。 当我点击弹出窗口侧的输入字段时,软键板被打开,弹出窗口的UI受到干扰。所以,我决定 WindowsOfInputMode=SoftInput。调整平移到我的主要活动。这解决了弹出窗口的UI问题,但现在当我单击其他输入字段时,我的![滚动视图停止滚动](侧滚动视图中几乎没有输入字段)。我尝试使用AdjustResize和其他软输入,但没有用。 有没有办法摆脱这个问题


在Android Xamarin上。表单应用程序正在处理单个Android活动,因此
WindowsofInputMode
是全局设置的。你可以做一个依赖注入服务。在iOS上它什么也不做,而在Android上它会将
WindowsofInputMode
设置为您想要的值。然后使用它在显示弹出窗口之前和之后设置
windowsofInputMode

在Xamarin.Forms中,
Forms.Context
是活动

var window = ((Activity)Forms.Context).Window;
window.SetSoftInputMode(SoftInput.AdjustPan);
万一

沙马林机器人

您可以直接从mainActivity访问窗口,如下所示:

Window.SetSoftInputMode(Android.Views.SoftInput.AdjustPan);
或者在AndroidManifest.xml中

<activity android:name=".myActivity"
 android:label="@string/app_name"
 android:screenOrientation="sensorPortrait"
 android:windowSoftInputMode="adjustPan"/>


@Amrut已经尝试过这种方法,但它不起作用,因为它将其设置为全局性的,从而改变了不需要它的页面上的行为。您介意再次阅读我的回复吗:在Xamarin Android的情况下,@Amrut正在谈论XF,谢谢你不喜欢我得到了一个新的徽章,那你为什么要用Xamarin Android来回答Xamarin表单的问题呢?也许这会帮助一些人你太棒了。