WP虚拟键盘隐藏底部UI元素
Posted
技术标签:
【中文标题】WP虚拟键盘隐藏底部UI元素【英文标题】:WP virtual keyboard hides bottom UI element 【发布时间】:2014-11-19 16:21:55 【问题描述】:我的 Windows Phone 8 应用中有一个布局,顶部附近有一个 TextBox
,布局底部有一个重要元素。我遇到的问题是,当文本框获得焦点时,虚拟键盘将弹出并隐藏底部的元素。用户需要离开文本框,底部的元素才能再次可见。
这里是简化版的页面代码,我的重要元素用红色矩形表示。
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBox Grid.Row="0" />
<Rectangle Grid.Row="1" Fill="Gray"/>
<Rectangle Grid.Row="2" Fill="Red" Height="100"/>
</Grid>
最好我希望更改布局,以便将红色矩形移动到虚拟键盘的上方(北部)。有可能吗?
【问题讨论】:
【参考方案1】:在 Windows Phone 8 上,无法知道屏幕的一部分是否被 SIP(软件输入面板,又称键盘)遮挡。一种蛮力解决方案是在文本框获得焦点时将中间网格行折叠到Height = 0
(假设您不关心该内容),或者在文本框获得焦点时直接在文本框下方为重要的 UI 设置动画;您可以对任一建议使用视觉状态。如果屏幕实际滚动并且文本框有时位于底部而不是顶部,则会变得更加复杂。
【讨论】:
【参考方案2】:你应该尝试这样的事情: https://social.msdn.microsoft.com/Forums/windowsapps/en-US/99652e87-113c-47fa-a8e7-60f11fc9f160/virtual-keyboard-covering-textbox
【讨论】:
以上是关于WP虚拟键盘隐藏底部UI元素的主要内容,如果未能解决你的问题,请参考以下文章