Просмотр перемещения вверх в формах xamarin android при появлении клавиатуры

Строка состояния и экран полностью перемещаются вверх, когда клавиатура всплывает в xamarin form android, а поле EditText находится внизу экрана. я пытался использовать

WindowSoftInputMode = SoftInput.AdjustPan 

а также

WindowSoftInputMode = SoftInput.AdjustResize

Но, к сожалению, оба не работают, я также забил оба. Из сообщения в блоге я прочитал положить

Xamarin.Forms.Application.Current.On<Xamarin.Forms.PlatformConfiguration.Android>().UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize);

а также

if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
{
    Window.DecorView.SystemUiVisibility = 0;
    var statusBarHeightInfo = typeof(FormsAppCompatActivity).GetField("_statusBarHeight", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
    statusBarHeightInfo.SetValue(this, 0);
    Window.SetStatusBarColor(new Android.Graphics.Color(0,0,0, 255)); // Change color as required.
 }

после запуска приложение является альтернативой, но, к сожалению, это также не удалось. Любой другой доступный вариант?


person George Thomas    schedule 29.05.2017    source источник


Ответы (1)


Это ошибка в Xamarin. Я использовал следующий код в mainActivity

    if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
    {
                    Window.DecorView.SystemUiVisibility = 0;
                    var statusBarHeightInfo = typeof(FormsAppCompatActivity).GetField("_statusBarHeight", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
                    statusBarHeightInfo.SetValue(this, 50);
    }

И используется

Xamarin.Forms.Application.Current.On<Xamarin.Forms.PlatformConfiguration.Android>().UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize);

Проблема заключалась в том, что это не сработает, если вы принудительно скроете строку заголовка.

Forms.SetTitleBarVisibility(AndroidTitleBarVisibility.Never);

Я закомментировал этот код, и проблема была решена. Но из-за свойства изменения размера я столкнулся с множеством проблем, так как я разработал экраны с сеткой и звездочкой, что вызвало много нежелательных проблем. Так что я не собираюсь использовать этот метод, к сожалению. :(

person George Thomas    schedule 30.05.2017