之前已经发布过,但没有答案。
问题:
TabBar
- > (2个标签)
Scrollview
和EddiText
点击EditText
时,软键盘会随之上升TabBar
。
(一个丑陋的解决方案是禁用ScrollView
中的滚动)
对此有什么好的解决方案吗?!
答案 0 :(得分:8)
一个简单的解决方案是告诉TabBar调整软键盘模式。要执行此操作,请转到清单文件,然后在Tabbar Activity中添加此行
android:windowSoftInputMode="adjustPan"
即使软键盘可见,这也会使您的Tabbar保持在底部。
答案 1 :(得分:1)
更新:忽略回答,认为您使用的是Adobe Flex for Android(不知道为什么!!) 这样可以隐藏正在激活的软/虚拟键盘上的标签栏,并在停用时再次显示它。
可以在全局应用程序级别http://bbishop.org/blog/?p=524上添加侦听器。
<?xml version="1.0" encoding="utf-8"?>
<fx:Script>
<![CDATA[
import mx.core.FlexGlobals;
protected function textinput1_softKeyboardActivatingHandler(event:SoftKeyboardEvent):void
{
// TODO Auto-generated method stub
FlexGlobals.topLevelApplication.tabbedNavigator.tabBar.visible = false;
}
protected function textinput1_softKeyboardDeactivateHandler(event:SoftKeyboardEvent):void
{
// TODO Auto-generated method stub
FlexGlobals.topLevelApplication.tabbedNavigator.tabBar.visible = true;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Scroller id="scroller" left="10" right="10" top="10" bottom="70" >
<s:VGroup paddingTop="3" paddingLeft="5" paddingRight="5" paddingBottom="3" horizontalAlign="center">
<s:TextInput softKeyboardActivating="textinput1_softKeyboardActivatingHandler(event)"
softKeyboardDeactivate="textinput1_softKeyboardDeactivateHandler(event)"/>
</s:VGroup>
</s:Scroller>