zoukankan      html  css  js  c++  java
  • WindowManager的简单了解

    WindowManager是一个接口,如下:

    public interface WindowManager extends ViewManager {
    ...
    }

    它的Nested Classes有三个分别是:

           WindowManager.LayoutParams
           WindowManager.BadTokenException
           WindowManager.InvalidDisplayException

    这里主要看一下 WindowManager.LayoutParams 这个类

    从源码中我们可以看到这个类的继承实现关系,虽然有2000+行的代码(即WindowManager这个interface 的大部分代码都是此类的),但是大部分是常量,我的理解就是一些定义布局的参数(随着我的不断深入,可能我也会更改我的理解)

     这些参数推荐大家去看   https://www.cnblogs.com/henu529/p/7061583.html 这篇博客(如果侵权请大家立马告知,谢谢!!!!)

    下面给大家一个小栗子看一下:

    将mParams的各个属性给了viewToast使用

    params.height=WindowManager.LayoutParams.WRAP_CONTENT;
            params.width=WindowManager.LayoutParams.WRAP_CONTENT;
            //设置flag为用户不能发键盘或Button事件传递给Window 和  只要窗口可见,屏幕就一直高亮
            params.flags=WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                    |WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
    //                |WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
            params.format=PixelFormat.TRANSLUCENT;
            params.type=WindowManager.LayoutParams.TYPE_PHONE;
            params.gravity=Gravity.LEFT+Gravity.TOP;
            params.setTitle("Toast");
            params.x=SpUtil.getInt(AddressService.this,ConstantValue.LOCATON_X,0);
            params.y=SpUtil.getInt(AddressService.this,ConstantValue.LOCATON_Y,0);
    
            viewToast=View.inflate(AddressService.this,R.layout.toast_view,null);
            tv_toast=(TextView)viewToast.findViewById(R.id.tv_toast);
    
            mWindowManager.addView(viewToast, mParams);
  • 相关阅读:
    字符串匹配算法之BF算法
    字符串匹配算法之RK算法
    UGUI之修改Text之间的间距
    数据结构和算法基础之快速排序
    数据结构和算法基础之归并排序
    数据结构和算法基础之希尔排序
    数据结构和算法基础之直接插入排序
    数据结构和算法之简单选择排序
    数据结构和算法基础之冒泡排序
    数据结构和算法基础之二叉树的链式储存
  • 原文地址:https://www.cnblogs.com/zzl521/p/8949833.html
Copyright © 2011-2022 走看看