重点进入键盘顶部

时间:2018-03-17 01:13:46

标签: xaml xamarin xamarin.forms xamarin.ios

我正在开发一个Xamarin.Forms PCL应用程序。我正在尝试这样做,以便用户可以对显示为帖子的帖子发表评论然后向下滚动显示在页面底部始终有停靠条目的评论

我试过

<ContentPage.Content>
    <StackLayout>
        <StackLayout>
            <ScrollView>
                <local:PostListView x:Name="Post">

                </local:PostListView>
                <StackLayout>
                    <ListView x:Name="CommentsList">
                    </ListView>
                </StackLayout>
            </ScrollView>
        </StackLayout>
        <StackLayout Padding="10, 5, 10, 10">
            <Entry Placeholder="Comment" BackgroundColor="GhostWhite"/>
            <StackLayout Orientation="Horizontal">
                <Button Text="Send" HeightRequest="20" HorizontalOptions="EndAndExpand" VerticalOptions="CenterAndExpand" Margin="0, 0, 5, 0"/>
            </StackLayout>
        </StackLayout>
    </StackLayout>
</ContentPage.Content>

但是当我点击键盘覆盖的条目时,它是否可以让它位于键盘上方?

2 个答案:

答案 0 :(得分:1)

对于Android,您应该设置:

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

和iOS:

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

答案 1 :(得分:1)

您可以尝试KeyboardOverlap

它是如何工作的?

1.Subscibe to keyboard Show / Dismiss events

2.在键盘演出

3.找到激活键盘的控件。 (FirstResponder)

4.确定键盘是否与控件重叠

5.计算你需要移动Page Up

的距离

6.Shift the Page Up

7.On键盘关闭

8.如果Page向上移动,请将Page Down

移开