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。 (例如您可以将布局放在 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 不起作用的主要内容,如果未能解决你的问题,请参考以下文章