在我的登录屏幕中有5个条目 . 我使用了scrollview但它没有滚动 . 我附上了示例代码 . 请有人帮我解决这个问题 . 提前致谢 . enter link description here
当我输入任何文本到条目一,键盘隐藏条目四和条目五,它不滚动 .
在 Activity 中添加 WindowSoftInputMode = SoftInput.AdjustPan 属性,如下所示:
Activity
WindowSoftInputMode = SoftInput.AdjustPan
[Activity(Label = "FloatingEntryApp", Icon = "@drawable/icon", Theme = "@style/MainTheme", WindowSoftInputMode = SoftInput.AdjustPan, MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
有关 AdjustPan 的更多详细信息,您可以阅读this document:
活动的主窗口未调整大小以便为软键盘腾出空间 . 相反,窗口的内容会自动平移,以便键盘不会遮挡当前焦点,用户可以随时看到他们正在键入的内容 . 这通常比调整大小更不合适,因为用户可能需要关闭软键盘以获得窗口的模糊部分并与其交互 .
一个简单的解决方案,在你 LoginPage 中添加一个空白 Label ,并使用 Margin 来调整 ScrollView 高度,然后你可以滚动到第四或第五个条目 .
LoginPage
Label
Margin
ScrollView
Label label = new Label { Text = " ", Margin = new Thickness(0, 200, 0, 0) }; detailStack.Children.Add(label);
Effect .
我看到你的代码,ScrollView工作正常,但内容应填写在屏幕上,然后scrollview将工作,否则将无法正常工作
例如,Put Spacing =“500”到那个detailStack StackLayout Childrens,那么你就可以很容易地理解这个问题了 .
我建议你使用XAML进行设计和MVVM或Prism模式
2 回答
在
Activity
中添加WindowSoftInputMode = SoftInput.AdjustPan
属性,如下所示:有关 AdjustPan 的更多详细信息,您可以阅读this document:
更新:
一个简单的解决方案,在你
LoginPage
中添加一个空白Label
,并使用Margin
来调整ScrollView
高度,然后你可以滚动到第四或第五个条目 .Effect .
我看到你的代码,ScrollView工作正常,但内容应填写在屏幕上,然后scrollview将工作,否则将无法正常工作
例如,Put Spacing =“500”到那个detailStack StackLayout Childrens,那么你就可以很容易地理解这个问题了 .
我建议你使用XAML进行设计和MVVM或Prism模式