Как определить высоту виртуальной клавиатуры?
0 nicks [2016-09-04 11:54:00]
Я хочу, чтобы кнопка всегда была точно выше виртуальной клавиатуры. Для этого мне нужно знать высоту клавиатуры. Как я могу это сделать в XF?
android ios xamarin xamarin.forms
1 ответ
0 Решение nicks [2016-09-04 15:58:00]
Установка WindowSoftInputMode = SoftInput.AdjustResize
в основном WindowSoftInputMode = SoftInput.AdjustResize
и использование этого кода работало :)
public Page1()
{
InitializeComponent();
var al = new AbsoluteLayout
{
HorizontalOptions = LayoutOptions.FillAndExpand,
VerticalOptions = LayoutOptions.FillAndExpand
};
var button = new BoxView {Color = Color.Red, VerticalOptions = LayoutOptions.FillAndExpand};
var entry = new Entry {HorizontalOptions = LayoutOptions.Fill};
al.Children.Add(button, new Rectangle(0, App.Dimensions.Height - 120, App.Dimensions.Width, 120));
al.Children.Add(entry, new Rectangle(10, 50, 200, 60));
Content = al;
Content.SizeChanged += (sender, args) =>
{
button.Layout(new Rectangle(0, Content.Height - 120, App.Dimensions.Width, 120));
};
}
App.Dimensions
оцениваются в MainActivity следующим образом:
DisplayMetrics displayMetrics = Resources.DisplayMetrics;
App.Dimensions.Height = displayMetrics.HeightPixels / displayMetrics.Density;
App.Dimensions.Width = displayMetrics.WidthPixels / displayMetrics.Density;