实现桌面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);
}

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

android 实现悬架控制的更多相关文章

  1. android gpio口控制

    android gpio口控制  GPIO口控制方式是在jni层控制的方式实现高低电平输出,类似linux的控制句柄方式,在linux系统下将每个设备看作一个文件,android系统是基于linux内 ...

  2. Android开发之控制摄像头拍照

    如今的手机一般都会提供相机功能,有些相机的镜头甚至支持1300万以上像素,有些甚至支持独立对焦.光学变焦这些仅仅有单反才有的功能,甚至有些手机直接宣传能够拍到星星.能够说手机已经变成了专业数码相机.为 ...

  3. Android中如何控制元素的显示隐藏?

    在Android程序中,有时需要程序开启时默认隐藏某个控件,当单击某个按钮时才触发显示控件的内容.比如在查询员工资料时,提交查询后再显示查询到的表格内容: Android中控制元素的隐藏参考以下代码. ...

  4. Android之GridView控制显示多少行以及遇到的怪事

    前段时间接到一个需求,要求GridView超过两行只显示两行多余的不显示.但是GridView没有设置多少行的api,只有设置多少列的方法,到处查找资料都类似的case,stakeoverfrow上面 ...

  5. Android安全机制(2) Android Permission权限控制机制

    http://blog.csdn.net/vshuang/article/details/44001661 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 1.概述 Andro ...

  6. Android -- 距离感应器控制屏幕灭屏白屏

    权限                                                                                             <u ...

  7. Android开发_控制硬加速hardwareAccelerated

    控制硬加速 hardwareAccelerated也是一种优化的手段 从Android3.0 (API level11)开始,Android的2D显示管道被被设计得更加支持硬加速了.硬加速使用GPU承 ...

  8. Android之Camera控制拍照

    package com.android.xiong.cameratest; import java.io.File; import java.io.FileOutputStream; import j ...

  9. android横竖屏控制

    代码中设置activity屏幕为全屏,并设置横竖屏状态 getwindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowM ...

随机推荐

  1. TCP closing a connection

    client closes socket: clientSocket.close(); step1 :client sends TCP FIN control segment to server st ...

  2. pygame系列_mouse鼠标事件

    pygame.mouse提供了一些方法获取鼠标设备当前的状态 ''' pygame.mouse.get_pressed - get the state of the mouse buttons get ...

  3. 使用配置文件(.settings、.config)存储应用程序配置

    原文:使用配置文件(.settings..config)存储应用程序配置 引言 我不知大家早先是如何保存应用程序配置,以备下次打开时使用的,反正我开始学.Net的时候就去研究序列化,以二进制或XML格 ...

  4. POJ 1276  Cash Machine(多重背包)

    Cash Machine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 24132 Accepted: 8446 Descrip ...

  5. 1104. Don’t Ask Woman about Her Age(数论)

    a*b^n(mod(b-1) =a(mod(b-1) http://acm.timus.ru/problem.aspx?space=1&num=1104 #include <stdio. ...

  6. setInterval定时和ajax请求

    fnSetMarkPoint = function (param) { $.ajax({ success: function (returnValue) { window.setInterval(&q ...

  7. php编码规范个人小结

    1.原生态代码或者类的头上,注明作者,关键算法计算过程 例如 /** *@author zengmoumou *功能:根据列表ip,取得ip对应的运营商,省,市,县 */ 2.变量尽量用英文单词的组合 ...

  8. AutoFac使用方法总结:Part II

    事件 AutoFac支持三种事件:OnActivating,OnActivated,OnRelease.OnActivating在注册组件使用之前会被调用,此时可以替换实现类或者进行一些其他的初始化工 ...

  9. CentOS 安装memcached

    一,安装libevent 安装位置 /usr/lib #tar -zxvf libevent-2.0.21-stable.tar.gz # cdlibevent-2.0.21 # ./configur ...

  10. leetcode——Evaluate Reverse Polish Notation 求算式值(AC)

    Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...