.NET MAUI
一种 Microsoft 开源框架,用于构建跨移动设备、平板电脑、台式机的原生设备应用程序。
94 个问题
在 .net-Maui 中,当我在 scrollView 中添加 ViewElement 并显示键盘时,键盘遮挡了 ViewElement。如果我删除 ScrollView,它可以正常工作,但我无法滚动内容。 在 Xamarin 上,Android 会自动将 ViewElement 滚动到视图中。为什么出现了此变化呢? 我必须在MAUI中做一些不同的事情吗? 下面是代码的示例。
public class TestView : ContentView
{
public TestView()
{
var layout = new AbsoluteLayout();
var scrollView = new ScrollView { Content = layout, };
Content = scrollView;
var entry = new Entry();
layout.Add(entry);
AbsoluteLayout.SetLayoutBounds(entry, new Rect(20, 600, 200, 45));
}
}
如果我在scrollview中使用其他布局,例如 RelativeLayout 和 StackLayout,也会有同样的问题。
我希望 ViewElement 自动滚动到视图中。
注意:此问题总结整理于:Why is Android is not automatically scroll ViewElement into view when keyboard appear? - Microsoft Q&A
你好,
在 MAUI 中,如果 TestView 的外层是 StackLayout、VerticalStackLayout 或其他不是继承 ScrollView 的布局,则会出现此问题。 在 Xamarin.Froms 中,无论外部布局是什么,当软键盘弹出时,都可以正常调整页面布局。
对于此问题,您可以向 MainActivity
类中添加以下代码来解决此问题:
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Window.SetSoftInputMode(Android.Views.SoftInput.AdjustPan);
}
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。