我的頁面看起來就像這個頁面上啓用滾動:時顯示鍵盤
如果用戶關注的焦點中的一個條目,頁面被「鎖定」。或者,因爲它遵循用戶不能上下移動:
我用ContentPage與滾動型爲主的佈局。 我也試着在各種模式下設置Window.SetSoftInputMode(),但一切都保持不變。
是否有任何模塊化的方法來解決這個問題(當HeightRequest = 0時,我有一個StackLayout的解決方法,當其中一個條目聚焦時,我將HeightRequest更改爲鍵盤高度)?
更新 我實現了這個,因爲它如下:
添加新的自定義控制CustomEntry這基本上是入學:只
<?xml version="1.0" encoding="UTF-8"?>
<Entry xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyApp.Framework.Controls.CustomEntry"
TextColor="{StaticResource MainPurple}"
PlaceholderColor="{StaticResource MainPurpleLight}"
HeightRequest="45"
FontSize="14"
Focused="CustomEntryFocused"
Unfocused="CustomEntryUnfocused">
</Entry>
private void CustomEntryFocused(object sender, FocusEventArgs e)
{
var stackParent = StackParent as StackLayout;
stackParent?.Children.Add(new StackLayout() { HeightRequest = `KeyboardHeight });`
}
private void CustomEntryUnfocused(object sender, FocusEventArgs e)
{
var stackParent = StackParent as StackLayout;
stackParent?.Children.RemoveAt(stackParent.Children.Count - 1);
}
我一直在尋找一個模塊化的解決方案,沒有/或最少的代碼在渲染器和一般的本地項目。我要用我的解決方案更新這篇文章。謝謝! – zpouip