저는 Forms 앱을 쓰고 있습니다. 화면 하단에보기를 배치하는 방법과 일부 항목에 초점이 맞춰지고 키보드가 보이면 키보드 바로 위의보기가 표시됩니까? 안드로이드에서는 Window.SetSoftInputMode(SoftInput.AdjustResize)
을 설정할 수 있으며 키보드가 표시/사라질 때마다 Content
크기가 조정됩니다. 그러나 상태 표시 줄이 투명해야하며 SoftInput.AdjustResize
은 WindowManagerFlags.TranslucentStatus
과 작동하지 않습니다. 내 질문은, 어떻게 설정합니까없이 키보드 바로 위에보기를 설정합니까 SoftInput.AdjustResize
? 이 코드를 실행하면키보드 바로 위에 뷰를 배치하는 방법은 무엇입니까?
public Page1()
{
InitializeComponent();
var al = new StackLayout
{
HorizontalOptions = LayoutOptions.FillAndExpand,
VerticalOptions = LayoutOptions.FillAndExpand
};
var button = new BoxView {Color = Color.Red, VerticalOptions = LayoutOptions.EndAndExpand};
var entry = new Entry {HorizontalOptions = LayoutOptions.Fill};
al.Children.Add(entry);
al.Children.Add(button);
Content = al;
Content.SizeChanged += (sender, args) =>
{
button.Layout(new Rectangle(0, Content.Height - 120, App.Dimensions.Width, 120));
};
}
, 당신은 입력을 누르 것이다 때, 아무것도 때문에의 보이지 않는 화면 하단에 남아, "버튼을"변경됩니다 :
이 예제를 가지고 키보드 오버레이.
MainActivity의 onCreate에 Window.SetSoftInputMode(SoftInput.AdjustResize)
을 추가하면 항목이 포커스가 맞으면서 상자가 키보드 위로 이동합니다.
또한 Content = al;
을 Content = new ScrollView {Content = al};
으로 변경하면 정상적으로 작동합니다.
그러나 MainActivity의 onCreate에 Window.AddFlags(WindowManagerFlags.TranslucentStatus);
을 추가하면 더 이상 작동하지 않습니다.
미리 감사드립니다.
나는 KeyboardOverlap 플러그인을 사용합니다. https://www.nuget.org/packages/Xam.Plugins.Forms.KeyboardOverlap/ – Vaikesh
SoftInput.AdjustPan과 같은 것을 시도하십시오. – Vaikesh
팬을 조정해도 아무런 변화가 없습니다. 첫 번째 링크는 안드로이드와 아무 관련이 없습니다. – nicks