Android Radio实战——桌面小部件(七)

        对于收音机的车机 APP 开发,一般都有配套的桌面小部件(Widget)开发,这里对小部件的具体实现就不介绍了,这里主要介绍一些桌面(Launcher)中的小部件(Widget)弹出窗口功能实现。

一、功能描述

        在小部件上点击按钮,弹出一个有音源选择列表的弹窗,点击其他位置弹窗收回。

        简单一看是不是感觉是一个很好实现的功能。要是再 Activity 中这个功能当然很好实现,直接弹出一个 PopupWindow 就实现了,但是在 Widget 中是无法弹出 PopupWindow 和 Dialog 的。所以这里只能令想他法了。

二、功能实现

实现思路:创建一个弹窗布局,然后将他添加到 WindowManager 中进行显示。

        首先,我们创建一个弹窗辅助类,设置好弹窗属性及弹出动画等,并提供弹窗显示及移除方法。

/**
 * 弹窗辅助类
 */
public class WindowUtils {
    private WindowManager mWindowManager;
    private View mSliderView;

    private static final ValueAnimator windowEnterAnimator;
    private static final ValueAnimator windowExitAnimator;

    static {
        windowEnterAnimator = ValueAnimator.ofInt();
        windowEnterAnim

猜你喜欢

转载自blog.csdn.net/c19344881x/article/details/130581278