Как разрешить прокрутку в Xamarin.Android (Xamarin.Forms), когда программная клавиша перекрывает часть содержимого?

Хорошо, давайте переходим друг к другу.

Print int array: 0xbfd66a88

Здесь вы печатаете int [], который переходит в перегрузку operator <<, которая принимает int *. И когда вы печатаете указатель, вы видите адрес памяти в шестнадцатеричном формате.

Print int array[0]: 5

Здесь вы печатаете первый элемент массива, который является int. Как и ожидалось.

Print int array[0]+1: 6

Здесь вы добавляете 1 к первому элементу массива и печатаете результат, который по-прежнему остается int. 5 + 1 становится 6. Нет таинственности здесь.

Print char array: abcd

Это немного сложнее. Вы печатаете char[], и есть специальная перегрузка для operator <<, которая принимает const char* и вызывает вызов. То, что делает эта перегрузка, - это печатать каждый символ, начиная с адреса, где указатель указывает до тех пор, пока он не найдет нулевой конец.

Print char array[0]: a

Здесь вы печатаете char, поэтому вызывается перегрузка, которая принимает char , Он печатает соответствующий символ ASCII, который является «a».

Print char array[0]+1: 98

Здесь результатом operator+ является int, потому что буква 1 является значением int и char повышается до более широкого типа (int). Результат равен 98, потому что код ASCII буквы «a» равен 97. Когда вы печатаете int, вы просто видите номер.

0
задан Christian 5 March 2019 в 10:57
поделиться

2 ответа

Есть несколько способов сделать это, но этот наиболее в духе Xamarin:

Xamarin.Forms.Application.Current.On<Xamarin.Forms.PlatformConfiguration.Android>().UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize);
0
ответ дан Ivan Ičin 5 March 2019 в 10:57
поделиться

Вам необходимо установить WindowSoftInputMode в вашем MainActivity.cs .

Вот как вы можете это сделать

[Activity(Label = "MyActivity", Theme = "@style/CustomTheme", WindowSoftInputMode = SoftInput.AdjustResize)]

Или поставить строку ниже в методе OnCreate () MainActivity . [ 115]

Window.SetSoftInputMode(Android.Views.SoftInput.AdjustResize);
0
ответ дан Jaymin 5 March 2019 в 10:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: