先说说缘由吧,最近项目要研究在亮屏的时候用展示一个开屏动画,我一想这个不难吧,截获亮屏的广播事件 Intent.ACTION_SCREEN_ON然后处理对应的事件就好了,但我发现好像没有正确的api可以修改锁屏壁纸,然后我就参考下面这个哥们自定义锁屏解决了一部分需求(有一个缺陷不能处理有锁屏密码的情况)。

http://blog.csdn.net/xiaoyu940601/article/details/53945198

下面贴出简单的代码:

1.这个是广播接收器,注意Intent.ACTION_SCREEN_ON和Intent.ACTION_SCREEN_OFF这个两个action必须动态注册。

@Override

public void onReceive(Context context, Intent intent) {

String action = intent.getAction();

if (Intent.ACTION_USER_PRESENT.equals(action)) {

} else if (Intent.ACTION_SCREEN_ON.equals(action)) {

Intent lockscreen = new Intent(context,LockScreenActivity.class);

// lockscreen.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

lockscreen.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT | Intent.FLAG_ACTIVITY_SINGLE_TOP);

context.startActivity(lockscreen);

}else if(Intent.ACTION_SCREEN_OFF.equals(action)){

Intent lockscreen = new Intent(context,LockScreenActivity.class);

lockscreen.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(lockscreen);

}

}

2.LockScreenActivity锁屏界面

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);

setContentView(R.layout.activity_lock_screen);

// getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE

// | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN //状态栏可见,状态栏覆盖布局

// | View.SYSTEM_UI_FLAG_FULLSCREEN //状态栏不可见

// | View.SYSTEM_UI_FLAG_LAYOUT_STABLE

// | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY

// | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

// | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); // hide nav bar

gif_screen = (ImageView) findViewById(R.id.gif_screen);

contentLayout = findViewById(R.id.contentLayout);

gif_screen.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

@Override

protected void onNewIntent(Intent intent) {

super.onNewIntent(intent);

Glide.with(this).load(R.drawable.screen).asGif().into(gif_screen);

handler = new StaticHandler(this);

handler.sendEmptyMessageDelayed(1, 2000);

}

上面包含设置去掉状态栏和navigationBar来全屏,但是发现怎么设置都不行,原来是要你想要全屏的view单独去设置才行,既:

gif_screen.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

这是这次解决问题的关键(gif_screen 是布局中一个展示gif动画的一个view),布局如下:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:fitsSystemWindows="true">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:scaleType="fitXY"/>

FrameLayout>

以上纯小弟愚见,还望大神指教。

android解锁动画效果,android 关于自定义解锁动画和实现全屏的解决方案相关推荐

  1. android ui动画效果怎么做,AndroidUI 布局动画-为列表添加布局动画效果

    新建一个Android project ,使MainActivity 继承自 ListActivity: public class MainActivity extends ListActivity ...

  2. Android 使用WebView 实现播放爱奇艺视频,可全屏(使用的腾讯的X5内核) (一)

    项目中有个需求,播放爱奇艺的视频,百度了一通,可能是搜索词有问题,没找到解决方法,后来无意中发现微信可以播放,就想到是否可以使用微信的x5内核,一试发现可以实现.想要实现的效果如下,点击全屏后全屏播放 ...

  3. html实现的动画效果代码,CSS实现雨滴动画效果的实例代码

    玻璃窗 今天我们要实现的是雨滴效果,不过实现雨滴前,我们先把毛玻璃的效果弄出来,没有玻璃窗,雨都进屋了,还有啥好敲打的. .window { position: absolute; width: 10 ...

  4. android x5获取播放地址,Android 使用WebView 实现播放爱奇艺视频,可全屏(使用的腾讯的X5内核) (一)...

    Android 使用WebView 实现播放爱奇艺视频,可全屏(使用的腾讯的X5内核) (一) 发布时间:2018-06-27 18:30, 浏览次数:1438 , 标签: Android WebVi ...

  5. js动画与html动画效果,九种原生js动画效果

    在做页面中,多数情况下都会遇到页面上做动画效果,我们大部分做动画的时候都是使用框架来做(比如jquery),这里我介绍下如何让通过原生的js来实现像框架一样的动画效果! 1.匀速动画效果说明:匀速动画 ...

  6. android解锁动画效果,Android 5秒学会使用手势解锁功能

    Android手势解锁 本文讲述的是一个手势解锁的库,可以定制显示隐藏宫格点.路径.并且带有小九宫格显示图,和震动!让你学会使用这个简单,高效的库! 先来一波效果效果展示: 手势解锁效果 今天给大家介 ...

  7. android解锁动画效果,Android开发学习——Day24(火焰燃烧和蒙眼解锁界面动画:关键帧动画和补间动画)...

    学习目的 1.学习使用两类动画:关键帧动画和补间动画 2.运用上述两类动画进行实战练习:火焰燃烧和蒙眼睛解锁 学习过程 认识两类动画的意义及其使用的基本操作,进行实战运用. 技术 一.关键帧动画&am ...

  8. android 自定义view 动画效果,Android自定义view----音乐播放动画

    先给大家看一下效果,因为我也不知道这个东西具体叫什么,标题上面写的是"音乐播放动画",可能描述的不太准确. 效果图.gif 前言 最近项目中做了一个音频播放的功能,播放条上需要一个 ...

  9. android 自定义view 动画效果,Android自定义view实现阻尼效果的加载动画

    效果: 需要知识: 1. 二次贝塞尔曲线 2. 动画知识 3. 基础自定义view知识 先来解释下什么叫阻尼运动 阻尼振动是指,由于振动系统受到摩擦和介质阻力或其他能耗而使振幅随时间逐渐衰减的振动,又 ...

最新文章

  1. Linux集群系统Heartbeat
  2. python3.6.8卸载_Mac 卸载 彻底删除 自己下载的 python 3
  3. Jenkins分层作业和作业状态汇总
  4. 随机系列生成算法(随机数生成)
  5. memory php 变量,php入门-变量
  6. 掌握ROMA Compose,报表清单不秃头
  7. pythonfor循环加2_python中for循环如何实现每次控制变量翻倍
  8. scala基础之隐式转换
  9. Ssm在线商城系统实战开发
  10. 【报告分享】2020年中国快消品行业KOL内容营销报告.pdf(附下载链接)
  11. mate10鸿蒙系统,华为将发布 MatePad Pro:搭载鸿蒙系统,麒麟 9000 处理器
  12. 根据输入网络服务名称取得端口号
  13. LeetCode 127. 单词接龙(广度优先遍历)
  14. 如何c语言读取文件中的内容,急急急!!!如何读取文件中的相关内容
  15. Mac软件下载提示:“已损坏,无法打开”解决办法
  16. [渝粤教育] 西南科技大学 机械设计基础 在线考试复习资料
  17. PDJCAD皮带机设计软件
  18. 地中海?修电脑的?格子衫?那些对程序员的高级黑!!!
  19. 解读MCE(Machine Check Exception)和Intel CSR寄存器(configuration Registers)的代码含义工具
  20. 现代控制理论6——能控、能观及其对偶原理、线性变换、结构分解

热门文章

  1. Dubbo的负载均衡
  2. ImageJ软件测量叶片或其它样品面积
  3. 财务应付结算系统设计-应付款和付款单(含付款风险控制)
  4. 关于二叉树的建立和遍历易错问题
  5. 使用线性光耦合器的模拟隔离
  6. EasyUI datagrid 使用loadData重置列表数据
  7. item_password-获得淘口令真实url API调用说明
  8. 机械工程信号处理(一):基本概念及应用
  9. 全面详尽剖析一句话asp木马
  10. Eclipse中显示空格符、制表符和换行符