Android仿微信文章悬浮窗效果

  • 时间:
  • 浏览:1
  • 来源:神彩IOS下载_彩神IOS下载官方

7 8    override fun onActivityResumed(activity: Activity?) {

本文作者:24K纯帅豆

2526                //判断mView是在Window中的位置,如果面 为界

2 3    private var started: Int = 0

50031    override fun onActivityCreated(activity: Activity?, savedInstanceState: Bundle?) {

4041                return isMove;

1011    override fun onActivityStarted(activity: Activity?) {

7 8    @Override

9    public boolean onTouch(View v, MotionEvent event
{

1314    mLayoutParams = new WindowManager.LayoutParams();

借助WindowManager.LayoutParams来实现,mLayoutParams.xmLayoutParams.y分别表示mView左上角的横纵坐标,本来大伙只需要改动本来五个多多值就行了,当ACTION_UP时,计算当前mView的中心点相对窗口的位置,有时候将mView动态滑动到窗口左边不可能 右边:

为了让WindowActivity脱离,这里大伙采用Service来做,通过Service来再加和移除View;在权限申请成功事先大伙需要通知Service(实在是Activity,不可能 会有保存数据等操作)作相应改变(提供五个多多接口给Service),有时候在Service中使用广播来通知Activity;最后五个多多需要注意的地方本来大伙需要判断应用守护应用应用程序否有在前台还是后台来再加或移除Window,这里通过使用ActivityLifecycleCallbacks来监听Activity在前台的数量来判断应用守护应用应用程序是在前台还是后台

看了动图大伙来分析一下,如何在每个页面上都占据 五个多多View呢,本来人不可能 会说,写在base后面 ,那我每次启动五个多多新的Activity也有往页面上addView一次,性能不好,再说了,大伙作为五个多多优秀的守护应用应用程序员能干你本来重复的事吗,你本来方案果断打回去;既然那我励志的话 那大伙肯定要在全局加了,没人全局是哪呢?相信了解过Activity源码的大伙肯定知道,全局需要在Window层加啊,那我既能一次性甩掉,又不影响性能,说干就干。

判断好权限事先,直接再加就需要了

原文发布时间为:2018-10-10

5 6    ImageView ivImage = mView.findViewById(R.id.aw_iv_image);

1112    initListener(context);

前些日子跟大伙聊天,大伙Z果粉,前些天更新了微信,说微信出了个好方便的功能啊,我问是啥功能啊,看看我大Android有没人,你说现在阅读公众号文章不可能 村里人 你还能能发微信你还能能把这篇文章当作悬浮窗悬浮起来,方便你聊完天不要再找继续阅读,听完是也有实在这叫啥啊,我大Android微信版也有早也有你本来功能何时,我看文章的事先看了过有你本来悬浮按钮,有时候我老是没人使用过,试了一下还是挺方便的,就想着本来人实现一下你本来功能,下面看图,大伙都习惯了无图言X

首先大伙要考虑的五个多多问題本来权限问題,不可能 要适配Android 7.0 8.0,再加悬浮窗是需要申请权限的,这里参考了Android 悬浮窗权限各机型各系统适配大全这篇文章,适配的比较全,需要直接拿来用。这里需要注意的是,为了适配Android 8.0Window的类型需要配置一下:

2021    override fun onActivitySaveInstanceState(activity: Activity?, outState: Bundle?) {

本文来自云栖社区合作方式方式伙伴“IT先森养成记”,了解相关信息需要关注“IT先森养成记”。

2324    override fun onActivityStopped(activity: Activity?) {

4 5    override fun onActivityPaused(activity: Activity?) {

1718    override fun onActivityDestroyed(activity: Activity?) {

3233                //使用动画移动mView

猜你喜欢

C# 反射通过类名实例化类

在面向对象编程的但是 ,会遇到原先的难题报告 ,有一有两个父类有多个子类,前要创建有一有两个父类的对象,再上面根据条件去把该对象实例化具体的某个子类,有但是进行操作。当然用

2020-01-20

女生考验男生对她是否真心就拿钱衡量男人的真心

且追问你为何会 知道她没骗你?她说一4个女人一4个女生就愿意为她花钱.,这是哪此道理呀绝大的理由怀疑、她是骗子别上当了我都奇了怪了下载百度知道APP,抢鲜体验没法同样的大伙

2020-01-20

[翻译]Hello, wasm

crate-type=["cdylib"]指示你的工程将会被编译为动态系统库[dynamicsystemlibrary],怎样才能让对于WebAssembly,他将会编译为一一

2020-01-20

既然离婚得不到幸福,我是不是应该逆来顺受,留住一婚?

你对这一 回答的评价是?回顾改革吧追问应该是曾经,不可能 你再婚到了另一个 新的环境你不可能 更不适应其他还有其他你洗意想可以了的麻烦95%离婚的人都后悔了其他说

2020-01-20

MongoDB学习之路——基础

语法:$condition:[key]可选的condition值如下:语法:db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA})

2020-01-19