android 实现悬架控制

android 实现悬架控制

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。


实现桌面View
         如桌面歌词

 1)将要显示在桌面的view,通过WindowManager.addView。挂在到WindowManager下;注意,
WindowManager对象来源,源代码有解释。

          而且配置好view的WindowManager.LayoutParams

       
 1-1)WindowManager.LayoutParams.type 设置为 WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY;时。桌面UI不能够直接setOnClickListener(),该View的onTouchEvent()函数也无效了
         设置为WindowManager.LayoutParams.TYPE_SYSTEM_ALERT(2003)或者WindowManager.LayoutParams.TYPE_PHONE(2002)才有效。



1-2)WindowManager.LayoutParams.flag 设置为LayoutParams.FLAG_NOT_TOUCH_MODAL | LayoutParams.FLAG_NOT_FOCUSABLE

 假设设置了WindowManager.LayoutParams.type为2002,2003;那么flag不设置为这两个flag的话。那么其它组件就无法获得touch和focus事件了。

 设置了该两个属性之后就大家都能够获得Touch和Focus事件

 2)androidManifest里申明权限
         <uses-permission android:name=”android.permission.SYSTEM_ALERT_WINDOW” />

	private void initDestopText(View childView){

		//直接通过Activity获取的 WindowManager。在act退出时,桌面组件也将退出。

// WindowManager wm = (WindowManager)getSystemService(WINDOW_SERVICE); //一定要通过getApplicationContext()获取WindowManager,这样的情况下,当Application终止后。悬浮控件才会被退出 WindowManager wm = (WindowManager)getApplicationContext().getSystemService(WINDOW_SERVICE); WindowManager.LayoutParams params = new WindowManager.LayoutParams(); // params.type = WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY; //假设设置为 params.type = WindowManager.LayoutParams.TYPE_PHONE; // params.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL | LayoutParams.FLAG_NOT_FOCUSABLE; params.width = WindowManager.LayoutParams.WRAP_CONTENT; params.height = WindowManager.LayoutParams.WRAP_CONTENT; wm.addView(childView, params); }

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/117408.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)


相关推荐

  • Locust 参数化

    Locust 参数化(九)Locust参数化使用LoadRunner和JMeter的同学都知道,性能测试工具设置参数化颇为麻烦,但对于Python来说,生成点数据再简单不过了。参数化系统登录这里以某系统登录为例,简单介绍登录用户名密码的参数化实现fromlocustimportHttpLocust,TaskSet,taskfromrandomimportrandint#Web性能…

  • python的pip快速安装代码

    python的pip快速安装代码

  • 禁止计算机更新,彻底禁止win10自动更新方法

    禁止计算机更新,彻底禁止win10自动更新方法现在基本每个小伙伴都用上Windows10的电脑,Windows10每隔一段时间会进行更新补丁,这个时候显得格外烦恼,很多用户都想要关掉,借助一些小工具来实现,但往往会发现,自动更新就像打不死的小强,不管怎么关闭,之后还是会自动更新,让用户非常不爽,win10关闭自动更新已经成为众多用户的难题,所以很多用户来问我怎么才可以把win10永久关闭自动更新,接下来,我就给大家介绍彻底禁止win10自动更…

  • MATLAB快速搭建一个神经网络以及神经网络工具箱的使用

    MATLAB快速搭建一个神经网络以及神经网络工具箱的使用文章目录0.导读1.神经网络工具箱2.如何利用MATLAB工具箱建立神经网络人工神经网络学习笔记2——MATLAB神经网络工具箱神经网络工具箱的使用MATLAB中神经网络工具箱的使用0.导读首先声明,这篇文章的内容并不全是本人的原创内容,凡是引用了别人的博客或者文章的地方,我都会标注出来,以便大家阅读原文。现在最前面的,当然是提纲挈领的废话。凡是商品都有目标人群,文章也该如此,一篇文章写了…

  • Android启动模式FLAG_ACTIVITY_CLEAR_TOP

    Android启动模式FLAG_ACTIVITY_CLEAR_TOP关于这个问题,我试了一下。例:A,B,C,D四个Activity,启动模式均为默认,依次启动,在D中启动B。添加intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)效果:C会被清除出栈;然后B被finish掉,重新启动;D被销毁。重走生命周期,不会走onNewIntent()方法Intentintent=newIntent(this,TestBActivity.class);intent.setFlags(Intent.FLAG_AC

  • 汉诺塔问题java代码_汉诺塔难吗

    汉诺塔问题java代码_汉诺塔难吗先用一般方法实现汉罗塔方法:先确定三个”石柱”ABC。n代表A柱起始圆盘数量主函数:结合栈来实现汉罗塔。因为栈先进后出的特点很适合汉罗塔。其实和上述方法本质一样,只不过添加了栈的特性这里定的栈最大容量为7,可以根据实际情况更改栈的构造:栈的相应方法如下(入栈,出栈,遍历栈)结合栈实现汉罗塔主函数:结果:…

    2022年10月12日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号