0

我正在开发一个布局稍微复杂的 Android 应用程序,并且我正在做噩梦以使其按我想要的方式工作。我的主要布局是这样定义的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
tools:context=".MainLayout" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:scrollbars="none" />

    <LinearLayout
        android:id="@+id/menudown"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        ... buttons ...

    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:id="@+id/header"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerInParent="true" >

    ... header content ...
</LinearLayout>    

</RelativeLayout>

布局的想法是有一个内容框架(content),一个页脚菜单(menudown)和一个悬停在内容上的标题( header ),与屏幕顶部对齐。- 对不起,没有图像,机密项目。

根据用户所在的部分,内容会与其他布局一起膨胀,其中一些是要填写的表格。所以,我只是使用了adjustPan,一切正常。

这里的问题是:客户要求我在显示软键盘时使内容可滚动,以便用户可以查看他在其他字段上写的任何内容。

这很痛苦,因为:表单适合屏幕,所以使用内容作为滚动视图无济于事,除非它被调整大小。

并且简单地更改为 adjustResize 不起作用,因为: menudown 与软键盘一起上升,这不应该发生。此外,视觉效果很糟糕。

该应用程序已经为 iPad 制作(由其他人),并且发生了什么:menudown 保持与屏幕底部对齐,位于软键盘下方,仅向上推动内容视图。然后,内容变为可滚动的,以便用户能够完整地看到它。

4

1 回答 1

0

我也有同样的问题,使键盘的行为与 iOS 上的行为相同。我可以从所有其他帖子中得到的最好的东西是手动检测软键盘并将视图向上移动。

这似乎是最好的:如何检查 Android 中软件键盘的可见性?

于 2013-01-16T02:50:03.850 回答