0

如何创建一个可以像音量/亮度小部件一样启动并且可以接受用户输入并在视图外单击时自动隐藏的 UI?

我能做的最好的就是使用WindowManager::addView,但这不会自动隐藏。

4

1 回答 1

0

用于@android:style/Theme.Dialog让你的整个Activity行为作为一个对话。

或者,使用DialogFragment. 有关如何使用自定义布局样式的详细信息,请参见此处。

编辑

另一个选项,它提供对放置/行为的更多控制是使用透明的Activity,并且像其他任何方式一样简单地创建小部件。您可以将主题设置为:

android:theme="@android:style/Theme.Translucent.NoTitleBar"

然后,创建您的布局

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

    <RelativeLayout
        android:id="@+id/floating_panel"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:drawable/panel_background" >

</RelativeLayout>

floating_panel如果您知道始终需要它的位置,您可以添加边距,或者以编程方式设置放置。

如果这些都不起作用,请查看使用 a作为锚点的类PopupMenu 。View也许你可以把它作为一个起点。同样,查看PopupWindowshowAtLocation(View, int, int, int)用于设置位置。

许多选项可用。仅取决于您要寻找的行为类型。

于 2013-08-20T23:13:56.580 回答