補間動畫 (Tween Animation) 靜宜大學資管系 楊子青

Slides:



Advertisements
Similar presentations
计算机动画与仿真. 计算机动画是计算机图形学和艺术相结合 的产物,它是伴随着计算机硬件和图形算 法高速发展起来的一门高新技术,它综合 利用计算机科学、艺术、数学、物理学和 其它相关学科的知识在计算机上生成绚丽 多彩的连续的虚拟真实画面,给人们提供 了一个充分展示个人想象力和艺术才能的 新天地。 计算机动画是计算机图形学和艺术相结合.
Advertisements

导数 导数 一、主要内容 微分 第二章 习题课 二、典型例题. 求 导 法 则求 导 法 则 求 导 法 则求 导 法 则 基本公式 导 数 导 数 高阶导数 一、主要内容 微 分微 分 微 分微 分.
足太阴脾经在足大趾与足阳明胃经衔接, 在胸部与手少阴心经相接。 联系的脏腑器官有 咽、舌,属脾,络胃,注心中。 络脉从本经分出,走向足阳明经,进入腹腔,联络肠胃。 经别结于咽,贯舌本。 经筋结于髀,聚于阴器,上腹,结于脐,散于胸中。 第四章 足太阴经络与腧穴 第一节 足太阴经络.
飲料備製 ( 作業十 ) 組員 : 9A0M0009 林昆樺 9A0M0026 李元盛 9A0M0031 林殷正 ( 組長 ) 9A0M0046 邱于倫 9A0M0048 林裕嘉 9A0M0054 巫紀樺 指導老師 : 葉佳聖.
三信家商「 105 學年度」 升學進路暨報名作業說明會 教務處實研組 教務處 實研組 日期︰ 104 年 10 月 19 日 時間: am 10:00~11:50 地點:教學行政大樓 7F 講堂.
急性腹痛 急性疼痛. 急性疼痛 — 孙树杰、沈洪、 刘保池 (1)(1)(1)(1) 概 述 (2)(2)(2)(2) 重症急性腹痛的临床特点 (3)(3)(3)(3) 急性腹痛的分类及诊治 主要教学内容.
103年度學生健康檢查.
第13章 繪圖與多媒體 13-1 顯示圖檔-行動相簿 13-2 音樂播放-音樂播放器 13-3 影片播放-視訊播放器
校园信息管理系统 河北科技大学网络中心 2000/4/10.
专题三 生物圈中的绿色植物.
中国特色社会主义政党制度 主讲:西南大学 李强 2011年12月28日.
證道: 我是羊的門,我是好牧人 講題:「耶穌說:”I Am”『我是…』」之(四) : 講員: 梁淑英牧師
第一单元 走进化学世界 课题 1 化学使世界变得更加绚丽多彩.
欢迎南京市政治学科的教研同仁 光临指导.
徵收苗栗市福全段147、1588及文心段10、11地號等4筆土地之
實驗五:多媒體播放器選單介面.
Part 2 開發Android應用程式的流程
105年推甄及登記分發說明會 教務處 註冊組課務組.
讲 义 大家好!根据局领导的指示,在局会计科和各业务科室的安排下,我给各位简要介绍支付中心的工作职能和集中支付的业务流程。这样使我们之间沟通更融洽,便于我们为预算单位提供更优质的服务。 下面我主要从三方面介绍集中支付业务,一是网上支付系统,二是集中支付业务流程及规定等,
复习 1. 注意最值与极值的区别. 最值是整体概念而极值是局部概念. 极大值可能小于极小值,极小值可能大于极大值.
中国人民公安大学经费管理办法(试行) 第一章总则 第四条:“一支笔” “一支笔”--仅指单位主要负责人。负责对本 单位的经费进行审核审批。
102學年度預算編製說明會 主辦單位:會計室 102/02/22.
位置與地圖應用 此投影片為講解Android如何取得定位經緯度和使用Google Map地圖.
复习 1. 微分中值定理的条件、结论及关系 费马引理 拉格朗日中值定理 罗尔定理 柯西中值定理 2. 微分中值定理的应用 关键:
類別與物件 Class & Object.
ArrayAdapter & Spinner
厦门大学数据库实验室 报告人:谢荣东 导师:林子雨 2014年8月30日
實驗四:單位轉換程式.
第2章 建立Android應用程式 2-1 Java語言、XML文件與Android 2-2 建立第一個Android應用程式
第9课 北美大陆上的新体制 导入新课 新课教学 课堂小结 知识结构 巩固练习
Chapter 13 Android 實戰演練.
Android + JUnit 單元測試 建國科技大學資管系 饒瑞佶 2012/8/19V4.
實驗十三:顯示目前經緯度位置.
Ch06 再談選單元件 物件導向系統實務.
使用Android控制Arduino 史先强
第一个Android程序 本讲大纲: 1、创建Android应用程序 2、Android项目结构说明 3、运行Android应用程序
Chapter 6 Advanced UI Design.
Chapter 7 Android應用元件 Android應用元件可以幫助我們獲得系統資源訊息(ActivityManager)、提供系統服務(Service)、搜尋系統服務(SearchManager)、監聽Intent訊息(Broadcast Receiver)以及資料共享(ContentProvider和ContentResolver)。
Android介面設計 Android智慧型手機程式設計 建國科技大學 資管系 饒瑞佶 2012/4 V1 2012/8 V2
Android Intent 建國科技大學 資管系 饒瑞佶 2011/1.
Chapter 6 進階UI設計.
第4章 Android生命周期.
第9章 使用意圖啟動活動與內建應用程式 9-1 意圖的基礎 9-2 使用意圖啟動活動
CH7 佈局、按鈕與文字編輯元件.
Android + Service 建國科技大學 資管系 饒瑞佶.
2018/12/3 面向对象与多线程综合实验-网络编程 教师:段鹏飞.
實驗十四:顯示與控制地圖.
第6章 建立Android使用介面 6-1 介面元件的基礎 6-2 Android的事件處理 6-3 按鈕元件 6-4 文字元件
平面繪圖與動畫.
實驗十一:待辦事項程式 (儲存在手機上).
主编:钟元生 赵圣鲁.
Chapter 5 Basic UI Design.
實驗九:延續實驗八, 製作一個完整音樂播放器
Location Based Services - LBS
Ch05 ImageSwitcher和GridView介面元件 View Animation動畫效果
使徒行傳.
微信商城系统操作说明 色卡会智能门店.
螢幕觸控及手勢辨別 靜宜大學資管系 楊子青.
Android視窗介面 建國科技大學 資管系 饒瑞佶 2010/10.
CustomView(自定義視圖) 、 畫布、顏色及多點觸控 靜宜大學資管系 楊子青
如何制订幼儿园园本培训工作计划 大连亿达世纪城幼儿园 姜承华 2011年3月10日.
RecyclerView and CardView
Android Speech To Text(STT)
Activity的生命週期: 播放音樂與影片 靜宜大學資管系 楊子青
所得稅法第14條、第126條修正條文 薪資所得計算方式二擇一 定額減除 特定費用減除 維持現行薪資所得特別扣除額20萬元減除方式
大綱 一.受試者之禮券/禮品所得稅規範 二.範例介紹 三.自主管理 四.財務室提醒.
用Intent啟動程式中的其他Activity、運用WebView顯示網頁 靜宜大學資管系 楊子青
讀取網路資料及JSON開放資料 靜宜大學資管系 楊子青
加速感測器 靜宜大學資管系 楊子青.
Presentation transcript:

補間動畫 (Tween Animation) 靜宜大學資管系 楊子青

Tween Animation 定義一系列關於透明度、旋轉、大小和位置的改變,讓View的內容動起來 java.lang.Object ↳ android.view.animation.Animation Known Direct Subclasses 四種類型: AlphaAnimation(透明度) RotateAnimation(旋轉) ScaleAnimation(縮放) TranslateAnimation(位移) AnimationSet(多個上述特效之組合)

實做專案:Tween 選Empty Activity 保留原版面ConstraintLayout 原TextView id: @+id/cl 原TextView text: 鮭魚洄游 id: @+id/txv textSize: 36sp textColor: @android:color/holo_blue_bright 將salmon.jpg放到res/drawable資料夾內

MainActivity.java TextView txv; ConstraintLayout cl; Animation am; //動畫 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txv = (TextView) findViewById(R.id.txv); cl = (ConstraintLayout) findViewById(R.id.cl); cl.setBackgroundResource(R.drawable.salmon); } 設定背景圖

1.觸控螢幕,讓圖形淡入 模擬測試看看 public boolean onTouchEvent(MotionEvent event) { //1.AlphaAnimation 起始透明度,最後透明度(Alpha)值 am = new AlphaAnimation(0.0f, 1.0f); //設定動畫開始到結束的執行時間 am.setDuration(5000); //設定重複次數,-1為無限次數 am.setRepeatCount(0); //將動畫特效設定到背景圖並開始執行動畫 cl.startAnimation(am); return false; } 模擬測試看看

2.加入特效組合,同時淡入及旋轉 public boolean onTouchEvent(MotionEvent event) { //0.特效組合 AnimationSet AnimationSet set = new AnimationSet(true); //1.AlphaAnimation 起始透明度,最後透明度(Alpha)值 am = new AlphaAnimation(0.0f, 1.0f); //設定動畫開始到結束的執行時間 am.setDuration(5000); //設定重複次數,-1為無限次數 am.setRepeatCount(0); //加入特效組合 set.addAnimation(am);

加入旋轉特效 模擬測試看看 //2.RotateAnimation 起始,最後旋轉角度 am = new RotateAnimation(0.0f, 360.0f); am.setDuration(5000); am.setRepeatCount(0); set.addAnimation(am); //將動畫特效組合設定到背景圖並開始執行動畫 cl.startAnimation(set); return false; } 模擬測試看看

3.圖形從0.2倍放大回原尺寸 public boolean onTouchEvent(MotionEvent event) { … //3.ScaleAnimation縮放x起,始倍率,y起,始倍率 Animation am = new ScaleAnimation(0.2f, 1.0f, 0.2f, 1.0f); am.setDuration(5000); am.setRepeatCount(0); set.addAnimation(am); //將動畫特效組合設定到背景圖並開始執行動畫 cl.startAnimation(set); return false; } 模擬測試看看

4.圖形從右下角位移到原位置 模擬測試看看 public boolean onTouchEvent(MotionEvent event) { … //4.TranslateAnimation座標x1,x2,y1,y2位移 //右下角座標 cl.getWidth(), cl.getHeight() am = new TranslateAnimation(cl.getWidth(), 0.0f, cl.getHeight(), 0.0f); am.setDuration(5000); am.setRepeatCount(0); set.addAnimation(am); //將動畫特效組合設定到背景圖並開始執行動畫 cl.startAnimation(set); return false; } 模擬測試看看

5.若動畫效果固定,可設xml資源檔 先在res新增一資料夾,命名為anim 於anim資料夾,新增動畫資源檔,如anim1

撰寫anim1.xml資源檔 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:duration="5000" android:fromAlpha="0" android:repeatCount="0" android:toAlpha="1" > </alpha> <rotate android:fromDegrees="0" android:toDegrees="360" > </rotate> <scale android:duration="5000" android:fromXScale="3" android:fromYScale="3" android:repeatCount="0" android:toXScale="1" android:toYScale="1" > </scale> <translate android:fromXDelta="0" android:fromYDelta="0" android:toXDelta="200" android:toYDelta="600" > </translate> </set>

撰寫程式,讓文字套用anim1.xml 所定義的動畫格式 public boolean onTouchEvent(MotionEvent event) { … //讀取xml方式所定義之特效 am = AnimationUtils.loadAnimation(this, R.anim.anim1); am.setStartOffset(5000); txv.startAnimation(am); return false; } 延遲5秒後再開始, 以避免同步看不到特效 模擬測試看看