键盘弹出其隐藏最后一行网格
Posted
技术标签:
【中文标题】键盘弹出其隐藏最后一行网格【英文标题】:keyboard popup its hide last row of grid 【发布时间】:2017-06-16 10:42:19 【问题描述】:当键盘弹出隐藏最后一行网格时,我在 xamarin 表单 android 中使用 AppCompact 主题 Before Keyboard Popup see Image
下面是我的代码。我创建了具有标题、描述的网格。我想在键盘出现时在键盘上方显示相机图标及其栏,并在键盘隐藏时返回屏幕底部。
<Grid RowSpacing="0" VerticalOptions="FillAndExpand">
<Grid.RowDefinitions>
<RowDefinition Height="80" />
<RowDefinition Height="*" />
<RowDefinition Height="50" />
</Grid.RowDefinitions>
<StackLayout
Grid.Row="0"
Padding="10,8"
BackgroundColor="White"
HorizontalOptions="FillAndExpand"
Orientation="Horizontal">
<Entry
x:Name="GeneralPostTitle"
Margin="10,10,10,0"
FontSize="20"
HorizontalOptions="FillAndExpand"
Placeholder="Title"
PlaceholderColor="Gray"
TextColor="Black"
VerticalOptions="End" />
</StackLayout>
<StackLayout
Grid.Row="1"
Padding="10,0"
BackgroundColor="White"
HorizontalOptions="FillAndExpand"
Spacing="0"
VerticalOptions="FillAndExpand">
<StackLayout Padding="0" VerticalOptions="Fill">
<customRenderer:PlaceholderEditor
x:Name="EditorDescription"
Margin="10,10,10,0"
FontSize="22"
HeightRequest="130"
HorizontalOptions="Fill"
Placeholder="Add Description"
PlaceholderTextColor="Gray"
TextColor="Gray" />
</StackLayout>
<ScrollView Padding="10" Orientation="Horizontal">
<StackLayout
x:Name="Images"
HorizontalOptions="FillAndExpand"
Orientation="Horizontal"
Spacing="5" />
</ScrollView>
</StackLayout>
<StackLayout
Grid.Row="2"
Padding="20,0"
BackgroundColor="#FAFAFA">
<Image
Aspect="AspectFit"
HeightRequest="40"
HorizontalOptions="StartAndExpand"
WidthRequest="30">
<Image.Source>
<OnPlatform
x:TypeArguments="ImageSource"
Android="camera"
WinPhone="Icons/camera.png"
ios="Icons/camera.png" />
</Image.Source>
<Image.GestureRecognizers>
<TapGestureRecognizer Tapped="ImagePost_OnTapped" />
</Image.GestureRecognizers>
</Image>
</StackLayout>
</Grid>
键盘弹出后看图片
【问题讨论】:
能否请您发布您的布局代码? 【参考方案1】:您需要设置 SoftInput to AdjustResize 以便 Android 调整视图大小,使其保持可见。在 Forms 中,您可以使用 Forms 2.3.3 中的 platform specifics feature 来执行此操作。
查看this Gist on how to do this in OnCreate()。请注意在 API 21+ 中删除添加到状态栏的底层所需的解决方法。
【讨论】:
我用过这个,但是当我们返回时不隐藏键盘而不是半屏不显示@jimmgarr 我们如何在 Ios 中做同样的事情? @jimmgarr 在 iOS 上,您需要使用自定义渲染器,以便您可以响应出现的键盘并调整视图大小,as seen here。至于你提到的Android问题,我不确定我是否理解。你能创建an MCVE吗?谢谢!以上是关于键盘弹出其隐藏最后一行网格的主要内容,如果未能解决你的问题,请参考以下文章