悬窗播放视频,让你聊天看视频两不误(上)

当年的毕业设计拿出来记录一下,实现效果图如下:

这里写图片描述

视频播放用的是vitamio框架。这里只讨论实现悬浮窗播放视频的思路

这里写图片描述

1.点击视频播放器中的悬窗按钮,开启悬窗播放模式。这里启动了一个后台server。
先进入Home桌面,然后启动MediaPlaybackService

        Intent intent = new Intent(); intent.setAction(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_HOME);                 startActivity(intent);Intent mIntent = new Intent("createUI");mIntent.setClass(PlayActivity.this, MediaPlaybackService.class);startService(mIntent);

然后我们来看MediaPlaybackService中做了什么
当action为createUI的时候创建UI窗口,当为removeUI的时候销毁窗口

    @Overridepublic int onStartCommand(Intent intent, int flags, int startId) {if (intent != null) {String action = intent.getAction();String cmd = intent.getStringExtra("command");if ("createUI".equals(action)) {createView(this);} else if ("removeUI".equals(action)) {fView = null;sFloatView = null;}}return START_STICKY;}

createView方法中实例化MyFloatView并传入一个ViewGroup,并调用showLayoutView。
我们在MyFloatView中做实现悬窗的逻辑用WindowManager。

    public ViewGroup fView;MyFloatView sFloatView;  private void createView(Context context) {if (fView != null) {return;}fView = (ViewGroup) View.inflate(context, R.layout.float_ma


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部