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元素的主要内容,如果未能解决你的问题,请参考以下文章

安卓手机虚拟键盘怎么关闭

手机端页面,隐藏虚拟键盘

在键盘存在时隐藏“底部导航栏” - Android

IOS虚拟键盘遮挡页面底部文本框

虚拟键盘隐藏字段/文本区域/内容可编辑(隐藏在键盘下方)

无法隐藏 SearchView 的虚拟键盘 iconfiedbydefault(false)