如何使视图浮动在IME中的其他视图上方?

时间:2011-04-16 02:20:14

标签: android ime

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

enter image description here

我已经通过使用FrameLayout阅读了如何在Activity中执行此操作,但它在我的IME中无效,这是一个Service而不是Activity。我的输入视图包含一个FrameLayout作为根视图,一个子RelativeLayout包含几个控件,ListView也是一个FrameLayout的子项。这是我的布局代码:

<?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应用程序内):

enter image description here

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

enter image description here

换句话说,我希望它在IME输入视图中显示外部。如果Swype可以做到,我知道我可以(有一点帮助)。有什么建议吗?

提前致谢! 百里

1 个答案:

答案 0 :(得分:1)

我找到了问题的解决方案,并将答案发布在另一个帖子中:Android IME: showing a custom pop-up dialog (like Swype keyboard) which can enter text into the TextView

百里