0

嗨,我正在为 Uni 项目设计一个导航应用程序。当按钮出现时,我无法将其留在软键盘下方。我使用 LinearLayout 作为框架。我进行了很多搜索并尝试了不同的技术,但似乎没有任何效果。

问题的图片

这是我的 XML 文件:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="0px"
        android:layout_height="0px"
        android:focusable="true"
        android:focusableInTouchMode="true" />

    <requestFocus />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1.0"
        android:orientation="vertical" >

        <EditText
            android:id="@+id/navi_searchfield1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:hint="Current location" >
        </EditText>

        <ListView
            android:id="@+id/navi_listview1"
            android:layout_width="fill_parent"
            android:layout_height="0dp">
        </ListView>

        <EditText
            android:id="@+id/navi_searchfield2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:hint="Destination" />

        <ListView
            android:id="@+id/navi_listview2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >
        </ListView>

    </LinearLayout>

    <Button
        android:id="@+id/start_navigation"
        android:layout_width="fill_parent"
        android:layout_height="40dip"
        android:background="@drawable/start"
        android:textColor="#ffffff"
        android:text="Start navigation" />

</LinearLayout>
4

1 回答 1

1

在 AndroidManifest.xml 中添加android:windowSoftInputMode="adjustPan"到您的活动中:

    <activity
                android:windowSoftInputMode="adjustPan"
.
.
.                
    </activity>

这将阻止 SoftKeyboard 移动您的按钮,从而为您提供如下输出: 在此处输入图像描述

即使通过在屏幕上滚动显示键盘,您也可以使用该按钮。但我认为您可能无法在按钮上方显示键盘,因为我使用 SoftKeyboard 并且它使用:

  android:layout_alignParentBottom="true" 

所以,你只能保证你的布局不会被软键盘推送。

于 2012-05-13T20:18:06.123 回答