yu-Sniper
Read The Fucking Source Code || 雄关漫道真如铁,而今迈步从头越
Android-模拟电视屏幕开关机特效
效果图:
布局代码:
activity_main.xml
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="#000000"
- tools:context=".MainActivity">
- <LinearLayout
- android:id="@+id/LL"
- android:layout_width="wrap_content"
- android:orientation="horizontal"
- android:layout_centerHorizontal="true"
- android:layout_height="wrap_content">
- <Button
- android:background="#ffffff"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:onClick="off"
- android:text="关" />
- <Button
- android:background="#ffffff"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:onClick="on"
- android:text="开" />
- </LinearLayout>
- <LinearLayout
- android:layout_below="@+id/LL"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <ImageView
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:id="@+id/imageView"
- android:scaleType="centerCrop"
- android:src="@drawable/aa"/>
- </LinearLayout>
- </RelativeLayout>
MyAnimation.java
- package com.example.yu_longji.android21;
- import android.graphics.Matrix;
- import android.view.animation.AccelerateDecelerateInterpolator;
- import android.view.animation.AccelerateInterpolator;
- import android.view.animation.Animation;
- import android.view.animation.Transformation;
- /**
- * Created by yu_longji on 2015/8/30.
- */
- public class MyAnimation {
- OffAnimation offanim;
- OnAnimation onanim;
- MyAnimation() {
- offanim = new OffAnimation();
- onanim = new OnAnimation();
- }
- public class OffAnimation extends Animation {
- int halfWidth;
- int halfHeight;
- @Override
- public void initialize(int width, int height, int parentWidth, int parentHeight) {
- super.initialize(width, height, parentWidth, parentHeight);
- //设置动画时间为800毫秒
- setDuration(800);
- //设置动画结束后就结束在动画结束的时刻
- setFillAfter(true);
- //保存View的中心点
- halfWidth = width / 2;
- halfHeight = height / 2;
- //设置动画先加速后减速
- setInterpolator(new AccelerateDecelerateInterpolator());
- }
- @Override
- protected void applyTransformation(float interpolatedTime, Transformation t) {
- super.applyTransformation(interpolatedTime, t);
- final Matrix matrix = t.getMatrix();
- //interpolatedTime是从0~1的一个变化,所以我们前80%让动画缩小成一个线,后20%保持线的高度缩小线的宽度
- if (interpolatedTime < 0.8) {
- matrix.preScale(1 + 0.625f * interpolatedTime, 1 - interpolatedTime / 0.8f + 0.01f, halfWidth, halfHeight);
- } else {
- matrix.setScale(7.5f * (1 - interpolatedTime), 0.01f, halfWidth, halfHeight);
- }
- }
- }
- public class OnAnimation extends Animation {
- int halfWidth;
- int halfHeight;
- @Override
- public void initialize(int width, int height, int parentWidth, int parentHeight) {
- super.initialize(width, height, parentWidth, parentHeight);
- //设置动画时间为900毫秒
- setDuration(900);
- //设置动画结束后就结束在动画结束的时刻
- setFillAfter(true);
- //保存View的中心点
- halfWidth = width / 2;
- halfHeight = height / 2;
- setInterpolator(new AccelerateInterpolator());
- }
- @Override
- protected void applyTransformation(float interpolatedTime, Transformation t) {
- super.applyTransformation(interpolatedTime, t);
- final Matrix matrix = t.getMatrix();
- if (interpolatedTime < 0.2) {
- matrix.setScale(0.01f, interpolatedTime * 5.0f, halfWidth, halfHeight);
- } else {
- matrix.setScale((float) Math.pow(interpolatedTime, 4), 1, halfWidth, halfHeight * 2);
- }
- }
- }
- //上下收缩
- // matrix.preScale(1,1-interpolatedTime,halfWidth*2,halfHeight);
- //中间一条线拉伸
- // matrix.setScale(interpolatedTime,0.01f,halfWidth,halfHeight);
- //上下伸展开
- // matrix.preScale(1,-(interpolatedTime),halfWidth*2,halfHeight);
- //左右向中间收缩
- // matrix.preScale(1-interpolatedTime,1,halfWidth,halfHeight*2);
- //上下伸展开
- // matrix.setScale(1, interpolatedTime, width, halfHeight);
- }
- package com.example.yu_longji.android21;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.ImageView;
- public class MainActivity extends Activity {
- ImageView imageView;
- MyAnimation myAnimation;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- imageView = (ImageView) findViewById(R.id.imageView);
- myAnimation = new MyAnimation();
- }
- //关
- public void off(View view) {
- imageView.startAnimation(myAnimation.offanim);
- }
- //开
- public void on(View view) {
- imageView.startAnimation(myAnimation.onanim);
- }
- }
unity3D 相机画面抖动的效果实现
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ShakeCa...
IT_ZB
2018-04-12 15:49:31
阅读数:72
unity5.6 老电视屏幕效果
2017年08月17日 7.19MB 下载
unity3d 老电影式的屏幕特效
unity3d 老电影式的屏幕特效。。。。。
wolf96
2014-12-03 12:32:27
阅读数:2938
[Unity3D] 战场电视屏幕抖动扭曲Shader
由于项目需要,弄了一个屏幕抖动Shader,直接看效果吧,UGUI Shader。 注意:使用的时候需要两张噪音贴图 Shader "Effect/SimpleHeadEffect" { ...
andyhebear
2016-01-22 13:46:59
阅读数:2450
unity3d老电视花屏闪烁效果
找到一般都是全屏的闪烁效果 于是就改了一个shader可以用到模型上的 另外添加了一些控制参数 Shader "Custom/Screen" { Properties{ _MainTex...
shenmifangke
2017-08-17 14:32:49
阅读数:1021
仿电视关机效果的动画
仿电视关机效果的动画 效果图主要代码 package com.zhengsonglan.tvanimation;import android.graphics.Matrix; import andro...
yy1300326388
2015-03-27 12:19:11
阅读数:2208
Android 模拟电视机开关机的动画效果
话不多说先上图: 关机动画public class TVOffAnimation extends Animation { private int halfWidth; private...
Tangi1910
2017-06-16 16:42:11
阅读数:501
Unity Shaders——屏幕特效老电影效果(Old Movie Screen Effect)
本文参考《Unity Shaders and Effects CookBook》。 很多时候我们游戏需要带入不同的场景,比如老电影的那种效果 像这种效果我们怎么实现呢? 下面分析下结构...
HeBiReChenAi
2016-11-04 14:26:36
阅读数:1167
Android电视关闭的动画效果
老式电视机关闭的时候画面一闪消失的那个效果: 首先创建一个TVOffAnimation继承于Animation: import android.graphics.Matrix; imp...
gundumw100
2017-04-10 18:42:23
阅读数:416
android apk自动开关机-接受开机广播后关机
AndroidManifest.xml: xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.c...
csh86277516
2017-09-14 17:01:35
阅读数:349
液晶电视面板的类型、等级及鉴别方法
液晶电视面板知识普及,导读 导读 面板在很大程度上决定着显示设备的亮度、对比度、色彩、可视角度等诸多效果,电视机产品亦然,液晶等离子两大主要阵营分别采用不同国籍的LCD和PDP面板,考虑...
pizi0475
2013-03-16 21:44:58
阅读数:2840
模拟google搜索特效
2011年06月08日 2.02MB 下载
DayDream模拟手柄操作
common.aar里ControllerManager.class ControllerManager中发送comgoogle.vr.vrcore.controller.BIND,设置package...
buding_code
2016-11-03 14:04:01
阅读数:139
Android-导航栏特效-文字缩放-颜色渐变
2015年03月29日 3.14MB 下载
Android-编程权威指南
2018年01月23日 14.79MB 下载
闪电特效算法
转载自: http://blog.csdn.net/u012945598/article/details/18862091 这部短片使用了中点位移法来模拟闪电。 中点位移法通常是用...
tuanxuan123
2015-08-13 12:03:40
阅读数:1994
js 特效 html 特效 模拟下雪景象
2011年08月20日 9KB 下载
js 特效 html 特效 模拟太空飞行
2011年08月20日 11KB 下载
js 特效 html 特效 模拟跳舞游戏
2011年08月20日 12KB 下载
触屏特效插件touchScroll
touchScroll可以模拟ipad 手机等的触屏效果
huang81820
2014-05-20 20:55:51
阅读数:545
互动交流
我的邮箱:
yulongji278@gmail.com
Github:
https://github.com/yuSniper
觉得文章哪里有错或是不妥的地方,恳请大家多多指正。如果博文对你有些帮助,请留个脚印,谢谢。
转载必须注明出处。
最新文章
- Android studio 导入SVN工程文件出现Gradle '' project refresh failed Error:Cause: unknown protocol: c
- Android-使用Timer实现5秒内接收到数据就进行打印,若超过5秒后没有收到数据再打印
- 报错:ViewPager$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
- java.lang.IllegalStateException: Recursive entry to executePendingTransactio
- Swift-Swift初体验
个人分类
- Android-基础56篇
- Swift1篇
- Android-Demo15篇
- Java-基础9篇
- Android-JNI/NDK开发9篇
- Android-笔记13篇
- JNI-编程指南11篇
- Java-设计模式1篇
- JavaWeb1篇
- Android-项目1篇
- 其它15篇
- SQL1篇
展开
归档
- 2017年6月1篇
- 2016年11月1篇
- 2016年8月3篇
- 2015年10月5篇
- 2015年9月23篇
- 2015年8月100篇
展开
热门文章
- Android-Android studio 出现 Error: NDK integration is deprecated in the current plugin. 问题解决
阅读量:27800
- Android-客户端上传多张图片到服务器功能实现
阅读量:11700
- SQL-mysql设置utf8编码方法
阅读量:11006
- 安装系统时出现-安装程序无法创建新的系统分区,也无法定位现有的系统分区,解决方法
阅读量:8295
- Android-使用ListView把SQLite中的数据显示至屏幕
阅读量:6334
最新评论
- Android-拦截短信(Broa...
qq_35396724:新版本有什么拦截短信的方法吗
- Android-客户端上传多张图片...
qq_37495946:很详细,感谢博主
- Android-客户端上传多张图片...
ou632895904:楼主您好,为什么在gridView1.setAdapter(simpleAdapter);这个地方...
- Android-客户端上传多张图片...
u013625330:可以,实用易懂。非常好。
- Android-客户端上传多张图片...
qinyanweiAa:非常好,非常感谢,谢谢!解决了大问题了
0
收藏
评论