关闭

Android 在WindowManager添加View进行绘制时,限制在Window内部绘制和允许绘制到窗口之外区域的方法

标签: Android WindowManage
803人阅读 评论(0) 收藏 举报


Android 在Window  绘制时,限制在Window内部绘制和绘制到窗口之外的方法。


今天在创建Window,进行动画显示时,我需要的是一个按钮上面覆盖的Window画的圆形扩散效果,要大到超过窗口边缘的效果。而我的绘制区域,却只能在窗口内部各种着急啊~~,终于在看WindowManager.addView(View, WindowManager.LayoutParams), 看WindowManager.LayoutParams的参数中的flag受到启发,把FLAG_LAYOUT_INSCREEN改成了FLAG_LAYOUT_NO_LIMITS后,终于绘制区域不受限制啦,达到效果了。


通过在WindowManager中添加View时,设置layoutParameters时,指定flag的值,其中有带有FLAG_LAYOUT_IN_SCREEN 为限制绘制在窗口内部, 而

FLAG_LAYOUT_NO_LIMITS

没有限制绘制的区域。

为绘制在窗口内部。

WindowManager.LayoutParams

下面的两个参数对以后能够

int FLAG_LAYOUT_IN_SCREEN Window flag: place the window within the entire screen, ignoring decorations around the border (such as the status bar).
int FLAG_LAYOUT_NO_LIMITS


Window flag: allow window to extend outside of the screen.


0
0
查看评论

Android中Window添加View的底层原理

一,WIndow和windowManager Window是一个抽象类,它的具体实现是PhoneWindow,创建一个window很简单,只需要创建一个windowManager即可,window具体实现在windowManagerService中,windowManager和windowManag...
  • u014486880
  • u014486880
  • 2016-03-03 09:41
  • 3626

WindowManager和WindowManager.LayoutParams的使用以及实现悬浮窗口的方法

参考链接: http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1105/509.html http://www.cnblogs.com/mengdd/p/3824782.html 1.理清概念 我们使用过Dialo...
  • core_ice
  • core_ice
  • 2016-09-07 22:38
  • 4218

顶层视图DecorView添加到窗口的过程

顶层视图DecorView添加到窗口的过程在ActivityThread中,当Activity被创建完毕后,会将DecorView添加到Window中。 ActivityThread#handleResumeActivity() final void handleResumeActivity(IB...
  • EthanCo
  • EthanCo
  • 2017-02-18 12:15
  • 665

Android 显示view控件超出父控件效果

前言最近发现一个需求,后台返回的接口里图片完整,但效果图却是在紧邻屏幕边缘的位置只显示一半的图片。我想过复杂的方式,比如按比例剪裁图片,现在想想真是才疏学浅。不过发现了一些xml里面的新属性,当然是对我来说的新属性,大神勿喷。话不多说,干活呈上~代码示例<FrameLayout ...
  • qq_33416180
  • qq_33416180
  • 2016-07-04 11:29
  • 8565

Android 的窗口管理系统 (View, Canvas, WindowManager)

Android 的窗口管理系统 (View, Canvas, WindowManager) 在图解Android - Zygote 和 System Server 启动分析一 文里,我们已经知道Android 应用程序是怎么创建出来的,大概的流程是 ActivityManagerServ...
  • ritterliu
  • ritterliu
  • 2014-09-15 17:13
  • 7191

使用WindowManager.addView()方法增加的悬浮窗口,如何固定屏幕显示方向?

使用WindowManager.addView()方法增加的悬浮窗口, 可以通过设置LayoutParams来达到固定屏幕显示方向的目的,如: private WindowManager.LayoutParams mLp;  private Windo...
  • wangjicong_215
  • wangjicong_215
  • 2017-05-22 19:11
  • 1247

android 使用windowManager添加两个view的时候,如何控制view的层级关系

遇见问题的背景:        在做项目的时候,需要使用到悬浮窗的效果,因此需要使用windowManager添加view。一个需求是当悬浮窗拖动到屏幕右边的时候需要动态的给windowManager再添加一个view2,此时下面的view1依然需要响应事件...
  • panxiangxing
  • panxiangxing
  • 2015-03-05 11:43
  • 2378

Android夜间模式实现,通过在window上加一层半透明的View

版权声明:本文出自Harwad_li的博客,转载必须注明出处。 转载请注明出处:http://blog.csdn.net/lizhongstu/article/details/50779939 前言:大家好,由于公司项目需求,要加一个夜间模式的效果 夜间模式的实现方式有以下几种: 1.直接调整屏幕亮...
  • lizhongstu
  • lizhongstu
  • 2016-03-02 15:41
  • 2566

android view显示在最顶层

view.bringToFront() 可以讲布局在下层的控件放到上层,不被其他控件挡住。
  • u011109530
  • u011109530
  • 2016-01-29 15:15
  • 3406

Android中为WindowManager添加的View添加动画

今天在做一个小功能模块的时候,需要对WindowManager添加一个view且需要动画来平滑过渡。但是尝试对view添加动画,发现该动画不work。在StackOverFlow上面也有很多人遇到此问题,也没用得到解答。后面通过采用不断更新View的方式来解决此问题。如果大家有什么好的解决方案,麻烦...
  • bingobinbin
  • bingobinbin
  • 2014-04-13 22:48
  • 2713
    个人资料
    • 访问:20408次
    • 积分:382
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:67篇
    • 译文:0篇
    • 评论:0条
    文章分类