ScaleAnimation動畫

ScaleAnimation動畫是用來進行縮放的動畫,我在使用時剛開始有些不解的問題
后來經過學習,有了一個更深的了解。
先來看看源碼,其實ScaleAnimation有四個構造函數,這里我只列出了其中的一個,因為
另外的三個其實都只是這個構造函數的一種特殊情況,這里我就只分析這個構造函數。

 /*** Constructor to use when building a ScaleAnimation from code* * @param fromX Horizontal scaling factor to apply at the start of the*        animation* @param toX Horizontal scaling factor to apply at the end of the animation* @param fromY Vertical scaling factor to apply at the start of the*        animation* @param toY Vertical scaling factor to apply at the end of the animation* @param pivotXType Specifies how pivotXValue should be interpreted. One of*        Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or*        Animation.RELATIVE_TO_PARENT.* @param pivotXValue The X coordinate of the point about which the object*        is being scaled, specified as an absolute number where 0 is the*        left edge. (This point remains fixed while the object changes*        size.) This value can either be an absolute number if pivotXType*        is ABSOLUTE, or a percentage (where 1.0 is 100%) otherwise.* @param pivotYType Specifies how pivotYValue should be interpreted. One of*        Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or*        Animation.RELATIVE_TO_PARENT.* @param pivotYValue The Y coordinate of the point about which the object*        is being scaled, specified as an absolute number where 0 is the*        top edge. (This point remains fixed while the object changes*        size.) This value can either be an absolute number if pivotYType*        is ABSOLUTE, or a percentage (where 1.0 is 100%) otherwise.*/public ScaleAnimation(float fromX, float toX, float fromY, float toY,int pivotXType, float pivotXValue, int pivotYType, float pivotYValue) {mResources = null;mFromX = fromX;mToX = toX;mFromY = fromY;mToY = toY;mPivotXValue = pivotXValue;mPivotXType = pivotXType;mPivotYValue = pivotYValue;mPivotYType = pivotYType;initializePivotPoint();}




參數如下
float fromX 動畫起始時 X坐標上的伸縮尺寸
float toX 動畫結束時 X坐標上的伸縮尺寸 ??
float fromY 動畫起始時Y坐標上的伸縮尺寸 ??
float toY 動畫結束時Y坐標上的伸縮尺寸 ??
int pivotXType 動畫在X軸相對于物件位置類型 ??
float pivotXValue 動畫相對于物件的X坐標的開始位置 ??
int pivotYType 動畫在Y軸相對于物件位置類型 ??
float pivotYValue 動畫相對于物件的Y坐標的開始位置 ?


說明
fromX,fromY
代表著你的這個View動畫執行開始時的X軸方向和Y軸方向的縮放
尺寸,當為1.0f時就代表這和原來大小相同,當為2.0就是在X軸或Y軸方向上2倍尺寸大小。


toX,toY
和上邊一樣,代表著你的這個View動畫執行結束時的X軸方向和Y軸方向的縮放
尺寸。


pivotXType,pivotYType
代表著這個View動畫執行的過程中你指定的伸縮原點相對于你的物件位置如何設置的方式。它共有三種
模式,分別為Animation.ABSOLUTE,Animation.RELATIVE_TO_SELF,Animation.RELATIVE_TO_PARENT
分別代表著絕對位置,相對于自己和相對于父布局的模式。當使用第一種時,比較簡單,就是說把整個
動畫的縮放中心點設置在一個相對于你的View的一個絕對位置處。當使用Animation.RELATIVE_TO_SELF和Animation.RELATIVE_TO_PARENT
就代表著你設定伸縮原點時使用相對位置,這個相對位置的參照物可以是你自己也可以是父布局。


pivotYValue,pivotXValue
這兩個參數是和上面兩個參數相關聯的,也就是說當我們使用上面的兩個參數設置好我們相對于物件位置類型時,
我們使用這兩個參數來說明我們到底把這個伸縮原點放到哪里。這里我們就不討論Animation.ABSOLUTE這種情況了
,比較簡單。我們討論Animation.RELATIVE_TO_SELF,Animation.RELATIVE_TO_PARENT這兩種模式下的參數的使用。
這兩個參數是float類型,是相對的位置值,例如當你使用RELATIVE_TO_SELF模式并設置pivotXValue的值為0.5時,
就是說你的X軸方向的伸縮點設在你的這個View的X軸方向的中點處,同樣如果你在把Y軸設為一樣的方式。那么也就確定了
你的動畫執行時的縮放原點為你的View的中心處,從這個中心點開始變大或縮小。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453546.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453546.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453546.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Swift快速入門(一)第一個Swift程序

1. 本系列說明 本系列只是一個Swift快速入門的教程,并沒有詳盡的介紹Swift,Swift也并不是一個簡單的編程語言,所以要想詳盡的系統的學習Swift,本系列并不適合你,此系列只是讓開發者可以快速的用Swift來進行開發。另外學…

java 判斷數字變化增減_java String 強化操作 判斷數字 字符串轉阿拉伯數字,相似度等等...

importjava.io.BufferedReader;importjava.io.StringReader;importjava.util.ArrayList;importjava.util.List;importjava.util.regex.Matcher;importjava.util.regex.Pattern;/***author*/public classStrings {/*** 全角轉半角**paramsbc 全角字符*returnString*/public stat…

[CareerCup] 4.7 Lowest Common Ancestor of a Binary Search Tree 二叉樹的最小共同父節點

4.7 Design an algorithm and write code to find the first common ancestor of two nodes in a binary tree. Avoid storing additional nodes in a data structure. NOTE: This is not necessarily a binary search tree. LeetCode上的原題,請參見我之前的博客Lo…

讓獵頭雨天送傘--大話獵頭

讓獵頭雨天送傘--大話獵頭(1) Arthur畢業之后,在一同家公司的研發部工作了7年,從初級開發工程師一直做到項目經理,過手十幾個大項目,現在帶領8人的研發團隊。獵頭最近頻頻與他溝通,希望他考慮幾個外企研發主管的機會…

android布局的一些知識

(一)android:layout_alignParentBottom 控制該組件是否與布局容器底端對齊android:layout_alignParentLeft 控制該組件是否與布局容器左邊對齊android:layout_alignParentRight 控制該組件是否與布局容器右邊對齊android:layout_alignParentTop 控制該組件是否與布局容器頂端對…

IE8兼容問題總結---trim()方法

1.IE8不支持,jquery的trim()去空格的方法 錯誤表現 : 會報錯,對象不支持此屬性或方法; 解決辦法 : 使用正則匹配空格 例如 : /^\s|\s$/greplace(/^\s|\s$/g,"");轉載于:https://www.cnblogs.com/lizhiwei8/p/8392589.html

java的流套接_java-使用流關閉套接字

我的以下問題非常簡單.這是我的代碼:public class Protocol implements Runnable {private SSLSocket socket null;private InputStream is null;private OutputStream os null;...public Protocol(Socket s) {socket (SSLSocket)s;is socket.getInputStream()…

簡歷撰寫

沒什么可寫的項目,或者自己說不太清,效果也不明顯的項目,就不要寫簡歷上了轉載于:https://www.cnblogs.com/brainstorm/p/7942669.html

如何真正做好項目管理?

項目要能順利執行其實并不簡單,如果又渉及多個單位合作,困難程度又大增。 從項目經理的工作日志片段,可以看出每個項目經理應該都有自已悲慘的故事,程度恐怕只有過之而無不及。項目經理到底應該有那些看家本領呢? …

日歷視圖的XML屬性

日歷視圖的XML屬性 : -- 設置樣式 : android:dateTextAppearance, 設置日期文字顯示樣式; -- 設置首日 : android:firstDayOfWeek, 設置星期幾是每周的第一天, 默認是周一; -- 選中顏色 : android:focusedMonthDateColor, 設置選中日期所在月份日期顏色; -- 最大日期 : android…

作業30-首頁列表顯示全部問答,完成問答詳情頁布局

首頁列表顯示全部問答:將數據庫查詢結果傳遞到前端頁面 Question.query.all()前端頁面循環顯示整個列表。問答排序app.route(/) def index():context{questions:Question.order_by(creat_time).query.all()}return render_template("index.html",**contex…

java重置radiobutton的選項_求助:這道題顯示radiobutton男女的功能和重置功能怎么做...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓package org.demo.app.gui; import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax…

PopupWindow和AlertDialog區別

1 第一個重要的區別是AlertDialog不能指定顯示位置,只能默認顯示在 屏幕最中間(當然也可以通過設置WindowManager參數來改變位置)。 而PopupWindow是可以指定顯示位置的,隨便哪個位置都可以,更加靈活。 2 AlertDia…

Scala學習之爬豆瓣電影

簡單使用Scala和Jsoup對豆瓣電影進行爬蟲,技術比較簡單易學。寫文章不易,歡迎大家採我的文章,以及給出實用的評論,當然大家也能夠關注一下我的github;多謝。 1、爬蟲前期準備 找好須要抓取的鏈接:https://m…

新興的多媒體格式——MXF 文件格式分析 和簡介

1. 新興的多媒體格式 MXF格式已經被推出幾年了, 從當初一個陌生的不為人們 重視的格式 逐漸獲得了業內人士的認知和認可, 現如今正被廣泛應用于廣播電視 與后期制作領域, 且有不斷擴大之勢, 松下公司推出的基于PII卡的 無磁帶式…

[JMX一步步來] 9、基于JBoss來寫MBean

前面都是用JDK自帶的JMX實現來寫的MBean,JMX的實現不獨SUN一家,JBOSS也有自己的JMX實現。如果你使用JBOSS來做WEB服務器,那么基于JBOSS的實現來寫MBean,是一個不錯的選擇。象我們公司就是用JBOSS的,因此所有MBean都是基…

Point和PointF

Point和PointF Point在GDI的結構中是最簡單的,在數學上它完全等價于一個二維矢量,包含兩個公共整型屬性,表示它與某個特定位置的水平和垂直距離。例如,為了從點A到點B,需要水平移動11個單位,并向下垂直移動…

開博第一篇,聊聊 最基本的 “==” 與 “===”區別

“”與“”都是比較左右兩個值是否相等,但它們的原理是不同的,特別要理解“”的比較。 “”是弱比較,如果左右兩邊的比較數類型不同,它們會轉換成相同類型,再進行比較,那么問題來了,它們是怎么進…

面向對象的故事~數據底層操作告訴了我們接口,抽象類,繼承與多態性的使用~續(TestBase繼承ITest是多余的?)...

在我上一篇文章發表后,收到了很多博友的回復,其中有一位博友提了一個問題,TestBase 繼承了ITest是多余的,我認為,我有必要再寫一篇文章來說明一下,TestBase為什么要繼承ITest,當然各位也可以再次發表自己的…

java樣式是什么_java css樣式 css樣式的種類 選擇器 文本相關樣式 背景相關樣式 邊框 盒子模式...

今日內容:? CSS樣式? CSS樣式的種類? 選擇器? 文本相關樣式? 背景相關樣式? 邊框? 盒子模式select標簽下拉列表標簽,常用于單選和多選,是一個組合標簽,需要和子標簽option一起搭配使用,不會獨占一行常用屬性:? name屬性:發送給服務器使用的? multiple屬性:不寫默認單選…