如何创建可以像音量/亮度小部件一样启动的UI,并且可以接受用户输入并在视图外单击时自动隐藏?
我能做的最好的就是使用WindowManager::addView
,但这并不是自动隐藏的。
答案 0 :(得分:0)
使用@android:style/Theme.Dialog
让您的整个Activity
充当对话框。
或者,使用DialogFragment
。有关如何使用自定义布局样式的详细信息,请参阅here。
修改强>
另一个提供对展示位置/行为的更多控制的选项是使用透明的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
添加边距,或者以编程方式设置展示位置。
如果这些都不起作用,请查看使用View
作为锚点的课程PopupMenu。也许你可以用它作为起点。同样,请查看PopupWindow,使用showAtLocation(View, int, int, int)
设置展示位置。
有许多选择。只取决于您寻找的行为类型。