[英]How do I make a view float above other views in an IME?
I am trying to make a ListView in my IME "float" in the middle of the screen, just like the Swype keyboard: 我试图在屏幕中间的IME “浮动”中创建一个ListView,就像Swype键盘一样:
I've read how to do it in an Activity by using a FrameLayout, but it isn't working in my IME, which is a Service not an Activity. 我已经阅读了如何通过使用FrameLayout在活动中执行此操作,但是它在我的IME中不起作用,该IME是服务而不是活动。 My input view consists of a FrameLayout as the root view, a child RelativeLayout containing several controls, and the ListView which is also a child of the FrameLayout.
我的输入视图由一个FrameLayout作为根视图,一个包含多个控件的子RelativeLayout和一个ListView组成,后者也是FrameLayout的子代。 Here is my layout code:
这是我的布局代码:
<?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>
The ListView and IME look like this (inside the SMS app): ListView和IME如下所示(在SMS应用程序内部):
But I want it to look like this: 但我希望它看起来像这样:
In other words I want it to appear outside the IME input view. 换句话说,我希望它的IME输入视图之外出现。 If Swype can do it, I know I can (with a little help).
如果Swype可以做到,我知道我可以(在一点帮助下)。 Any suggestions?
有什么建议么?
Thanks in advance! 提前致谢! Barry
巴里
I found the solution to my problem, and posted the answer in another thread: Android IME: showing a custom pop-up dialog (like Swype keyboard) which can enter text into the TextView 我找到了解决问题的方法,并在另一个线程中发布了答案: Android IME:显示了一个自定义弹出对话框(如Swype键盘),可以在TextView中输入文本
Barry 巴里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.