android WindowManager
来源:互联网 发布:网络平台承担连带责任 编辑:程序博客网 时间:2024/06/16 01:45
项目中有一个到时锁屏的的功能,就是当到达特定时间后,程序弹出一个蒙层将界面锁住,用户不能进行其他操作 (ps:按home键和back键蒙层也还在),除非输入密码或按规定操作,才可移除蒙层。
现将关键的使用代码简化贴出以供参考:
public class MainActivity extends Activity {private WindowManager.LayoutParams param;private WindowManager windowManager;private RelativeLayout mInView;private Button btn;private void initView() {windowManager = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);param = new WindowManager.LayoutParams();LayoutInflater inflater = LayoutInflater.from(getApplicationContext());// 加载需要的XML布局文件mInView = (RelativeLayout) inflater.inflate(R.layout.activity_main,null, false);btn = (Button) mInView.findViewById(R.id.btn);}public void addWindow() {// param.format = PixelFormat.RGBA_8888; // 背景透明param.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;// 等于2003,意思是:系统提示,它总是出现在应用程序窗口之上// param.gravity = 51;// 让该window后所有的东西都成暗淡(dim)param.format = 1;// param.alpha = 0.9f;param.type = 0x00000200;// 允许窗口扩展到屏幕之外,相当于满屏作用// param.flags = 0x00000200;if (windowManager == null)windowManager = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);// 获取WindowManager服务:try {windowManager.addView(mInView, param);// 添加view到屏幕} catch (Exception e) {e.printStackTrace();}}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);initView();addWindow();btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// 移除windowviewif (mInView != null) {windowManager.removeView(mInView);}}});}}
其中关于windowmanager的相关信息网上有很多介绍,这里不再赘述。大家可以根据自身的实际情况对WindowManager.LayoutParams参数进行设置来满足不同需求。
阅读全文
0 0
- android windowManager
- android windowManager
- Android--WindowManager
- Android--WindowManager
- Android----WindowManager
- Android----------WindowManager
- Android-WindowManager
- Android WindowManager
- Android WindowManager
- android WindowManager
- Android中 Window 、WindowManager、WindowManager.LayoutParams 相关内容
- Android解析WindowManager(一)WindowManager体系
- Android平台WindowManager运用
- Android平台之WindowManager
- android学习---- WindowManager.LayoutParams
- android学习---- WindowManager.LayoutParams
- Android平台WindowManager
- Android系统服务-WindowManager
- android开发过程中遇到的问题
- js数组的索引详解
- Android:Layout_weight属性解析
- 基于stm32F103的 A4988驱动
- 如何使用阿里云虚拟主机搭建博客(一)初识篇
- android WindowManager
- Java重载、覆盖、多态的理解与区别
- Error:Could not find com.android.tools.build:gradle:2.14.1-all. Searched in the following locations:
- 面向对象-设计原则
- Linux 流程控制语句
- js操作滚动条事件实例
- document获取对象的三种三方法
- mac 终端终止指令
- oracle三大范式