SoftInput.AdjustPan 不起作用

Posted

技术标签:

【中文标题】SoftInput.AdjustPan 不起作用【英文标题】:SoftInput.AdjustPan doesn't work 【发布时间】:2017-12-15 04:02:23 【问题描述】:

各位程序员大家好。我尝试在 Visual Studio Xamarin 中创建 android 应用程序。我将 EditText 放在应用程序屏幕的下部,当我将焦点放在它上面时,键盘隐藏了 UI 的底部。可以用这个做点什么吗?

屏幕:

代码: Main.axml MainActivity.cs

所有帮助将不胜感激

更新

主题代码:

<resources>
  <style name="CustomToolbar" parent="@android:style/Theme.Material.Light">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:colorPrimaryDark">@color/status_bar</item>
    <item name="android:statusBarColor">@color/status_bar</item>
    <item name="android:colorPrimary">@color/status_bar</item>
  </style>
  <style name="TransparentStatusBar" parent="@android:style/Theme.Material.Light.DarkActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
  </style>
  <style name="CustomSplash" parent ="@android:style/Theme.Material.Light">
    <item name="android:windowBackground">@drawable/splash_screen</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
  </style>
</resources>

【问题讨论】:

请发布您的 TransparentStatusBar 主题代码。某些样式项忽略 SoftInput.AdjustPan。 (例如 true 致@배준모 是的,你是对的,我使用 windowTranslucentNavigation。我添加了主题代码 如果使用 windowTranslucentNavigation,..我不知道为什么...所以删除它 我认为 windowTranslucentNavigation 的布局可能是固定的。所以也许...不调整布局大小 致@배준모 好吧,感谢您对 AdjustPan/Resize 和 windowTranslucentNavigation 之间的依赖关系的帮助。会考虑如何以我自己的方式解决这个问题。 【参考方案1】:

您可以将布局放在 ScrollView 中。我将允许 EditText 完全可见,但它不会对底部按钮执行任何操作,因为它们不会阻止该字段。

如果你想让它对眼睛有更大的压力,你可以在键盘出现在屏幕上时滚动 ScrollView。

编辑: 要找出键盘何时出现,您可以使用主布局的 GlobalLayout 事件。

ViewTreeObserver vto = element.ViewTreeObserver;       
vto.GlobalLayout += (sender, args) =>       
        element.Height; // will be different with/without keyboard 
;

【讨论】:

你能解释一下,如何控制在屏幕上显示的键盘吗? @AdeptusMechanicus 我根据您的要求编辑了答案 致@Taier。好的,但是我怎样才能得到这个元素(键盘)。那是第一个。第二 - 与 windowTranslucentNavigation AdjustPan 或 AdjustResize 不工作,所以 ScrollView 不会帮助没有 windowTranslucentNavigation 两者都工作。

以上是关于SoftInput.AdjustPan 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Vba窗体的keydown怎么不起作用

修改php.ini不起作用是为啥

PHP.INI不起作用

Laravel Admin 路由不起作用,但其他路由不起作用

为啥我的poi autoSizeColumn()不起作用

Bootstrap 下拉菜单不起作用(对其他类似问题的回答不起作用!)