0

我正在尝试在屏幕中间的IME “浮动”中创建一个 ListView,就像 Swype 键盘一样:

在此处输入图像描述

我已经阅读了如何使用 FrameLayout 在 Activity 中执行此操作,但它在我的 IME 中不起作用,它是服务而不是 Activity。我的输入视图由作为根视图的 FrameLayout、包含多个控件的子 RelativeLayout 以及也是 FrameLayout 的子视图的 ListView 组成。这是我的布局代码:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent" 
              android:layout_height="wrap_content"
              android:layout_gravity="bottom" 
              android:gravity="center_horizontal" >

    <!-- Most of the controls are children of this RelativeLayout -->
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:layout_width="fill_parent" 
                  android:layout_height="wrap_content"
                  android:gravity="center" >

        <Button android:id="@+id/btnOption1"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:layout_marginRight="10dp" 
                android:layout_alignParentLeft="true"
                android:layout_toLeftOf="@+id/imgArrow"
                android:layout_marginTop="10dp" 
                android:textSize="18dp"
                android:textColor="#ffffff"
                android:background="@drawable/button"
                android:padding="4dp"
                android:text="Option 1" />

        <ImageView android:id="@id/imgArrow"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:layout_marginRight="10dp" 
                android:layout_centerHorizontal="true"
            android:layout_alignBottom="@id/btnOption1"
                android:layout_marginTop="10dp" 
                android:padding="4dp"
                android:src="@drawable/arrow_right" />

        <Button android:id="@+id/btnOption2"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_toRightOf="@id/imgArrow"
                android:layout_marginTop="10dp" 
                android:textSize="18dp"
                android:textColor="#ffffff"
                android:background="@drawable/button"
                android:padding="4dp"
                android:text="Option 2" />

    <!-- Translate button -->
    <Button android:id="@+id/btnContinue"
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_below="@id/imgArrow"
            android:layout_marginTop="10dp" 
            android:layout_marginBottom="10dp" 
            android:textSize="22dp"
            android:textColor="#ffffff"
            android:background="@drawable/button"
            android:text="Translate!" />

        <!-- Keyboard button -->
        <ImageButton android:id="@+id/btnKeyboard"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_below="@id/btnContinue"
                android:layout_marginRight="4dp" 
                android:textColor="#ffffff"
                android:background="@drawable/button"
                android:src="@drawable/sym_keyboard_kb" />

        <!-- Undo button -->
        <ImageButton android:id="@+id/btnUndo"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_below="@id/btnContinue"
                android:textColor="#ffffff"
                android:background="@drawable/button"
                android:src="@drawable/sym_keyboard_undo" />

    </RelativeLayout>

<ListView android:id="@+id/menuOptions"
          style="@style/optionsMenu" />

</FrameLayout>

ListView 和 IME 如下所示(在 SMS 应用程序内):

在此处输入图像描述

但我希望它看起来像这样:

在此处输入图像描述

换句话说,我希望它出现IME 输入视图之外。如果 Swype 可以做到,我知道我可以(需要一点帮助)。有什么建议么?

提前致谢!巴里

4

1 回答 1

1

我找到了我的问题的解决方案,并在另一个线程中发布了答案:Android IME:显示一个自定义弹出对话框(如 Swype 键盘),它可以将文本输入到 TextView

巴里

于 2011-05-29T09:22:32.187 回答