对于收音机的车机 APP 开发,一般都有配套的桌面小部件(Widget)开发,这里对小部件的具体实现就不介绍了,这里主要介绍一些桌面(Launcher)中的小部件(Widget)弹出窗口功能实现。
一、功能描述
在小部件上点击按钮,弹出一个有音源选择列表的弹窗,点击其他位置弹窗收回。
简单一看是不是感觉是一个很好实现的功能。要是再 Activity 中这个功能当然很好实现,直接弹出一个 PopupWindow 就实现了,但是在 Widget 中是无法弹出 PopupWindow 和 Dialog 的。所以这里只能令想他法了。
二、功能实现
实现思路:创建一个弹窗布局,然后将他添加到 WindowManager 中进行显示。
首先,我们创建一个弹窗辅助类,设置好弹窗属性及弹出动画等,并提供弹窗显示及移除方法。
/**
* 弹窗辅助类
*/
public class WindowUtils {
private WindowManager mWindowManager;
private View mSliderView;
private s