tabbar随键盘一起上升

时间:2011-07-01 16:49:35

标签: android keyboard tabbar

之前已经发布过,但没有答案。

问题:

TabBar - > (2个标签)

  • 标签一个有ScrollviewEddiText
  • 标签二:别的东西

点击EditText时,软键盘会随之上升TabBar

(一个丑陋的解决方案是禁用ScrollView中的滚动)

对此有什么好的解决方案吗?!

2 个答案:

答案 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>