ObjectAnimator(屬性動畫)
package com.example.animator; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; importandroid.widget.Button; import android.widget.ImageView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private Button but; private ImageView img; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化控制元件 but = (Button) findViewById(R.id.but); img = (ImageView) findViewById(R.id.img); //圖片點選事件 img.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this, "我在這裡", Toast.LENGTH_SHORT).show(); } }); //演示屬性動畫 but.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //建立平移動畫 ObjectAnimator translationX = ObjectAnimator.ofFloat(img,"translationX",0,300); //建立透明動畫 ObjectAnimator alpha = ObjectAnimator.ofFloat(img, "alpha", 1.0f, 0f); //動畫集合 AnimatorSet set = new AnimatorSet(); //新增動畫 set.play(translationX).with(alpha); //動畫耗時 set.setDuration(5000); //開啟 set.start(); //動畫監聽 set.addListener(new AnimatorListenerAdapter() { @Override//動畫結束時 public void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); } @Override public void onAnimationRepeat(Animator animation) { super.onAnimationRepeat(animation); } @Override//動畫開始時 public void onAnimationStart(Animator animation) { super.onAnimationStart(animation); } }); } }); }
}
--------------------------------xml檔案-----------------------------
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.animator.MainActivity"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="動畫演示" android:id="@+id/but"/> <ImageView android:layout_marginTop="50dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/img" android:src="@mipmap/ic_launcher"/> </LinearLayout>
相關推薦
ObjectAnimator(屬性動畫)
package com.example.animator; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animat
Android中的動畫(幀動畫、補間動畫、屬性動畫)
總的來說,安卓動畫可以分為兩類,最初的傳統動畫和Android3.0之後的屬性動畫。 傳統動畫包括:幀動畫( Frame Animation)和補間動畫(Tweened Animation)。 下面來具體說一下各種動畫的使用及特點: 幀動畫:是最容易實
Android效能優化(一)記憶體洩露優化(靜態變數、單例模式、屬性動畫)
記憶體洩露優化分為兩個方面,一方面是在開發過程中避免寫出有記憶體洩露的程式碼,另一方面是通過一些分析工具比如 MAT來找出潛在的記憶體洩露繼而解決。 一、靜態變數導致記憶體洩露。一般情況下靜態變數引用
AnimationDrawable(幀動畫)
1,AnimationDrawable(幀動畫) 【1】介紹和使用方法: 【2】在rec下建立drawable檔案。 【2】建立一個xml 檔案資源<animation-list > <?xml version="1.0" encoding="
《 常見演算法與資料結構》符號表ST(4)——二叉查詢樹刪除 (附動畫)
符號表ST(4)——二叉查詢樹刪除 (附動畫) 本系列文章主要介紹常用的演算法和資料結構的知識,記錄的是《Algorithms I/II》課程的內容,採用的是“演算法(第4版)”這本紅寶書作為
使用系統提供的AVFoundation 實現二維碼掃描(帶動畫)
注意這裡的掃描必須真機測試 模擬器上是看不出來效果的 #import "ViewController.h" #import <AVFoundation/AVFoundation.h> @interface ViewController ()<AVCa
android自定義控制元件之圓形進度條(帶動畫)
首先貼上圖片: 額,感覺還行吧,就是進度條的顏色醜了點,不過咱是程式設計師,不是美工,配色這種問題當然不在考慮範圍之內了 下面說重點,如何來寫一個這樣的自定義控制元件。 首先,需要有一個灰色的底圖,來作為未填充時的進度條; 然後,根據傳入的當前進度值,繪製填充時的進度圓
MeshEditor(五) 網格頂點動畫(變形動畫)
原始碼已上傳至github,並持續更新,連結請看底部。(本帖跟隨github持續更新)網格頂點動畫(變形動畫)是針對於物體的形狀可以隨意變換並記錄為關鍵幀的動畫,雖然模型的頂點資料還是應該交給GPU繪製才是正道,CPU重新整理模型頂點始終是個吃力不討好的事(不過我好像至始至終
《 常見演算法與資料結構》平衡查詢樹(1)—— 2-3查詢樹(附動畫)
本系列文章主要介紹常用的演算法和資料結構的知識,記錄的是《Algorithms I/II》課程的內容,採用的是“演算法(第4版)”這本紅寶書作為學習教材的,語言是java。這本書的名氣我不用多說吧?豆瓣評分9.4,我自己也認為是極好的學習演算法的書籍。
Android動畫-Frame Animation(幀動畫)
Android動畫主要分為以下三類: Tweened animation(補間動畫)- 在android3.0(API11)之前支援,該動畫僅僅支援對View操作,而且View在做動畫的時候,View相應的實際屬性值並沒有發生改變,例如:一個Button起始位置left,to
res-----不同圖片實現動畫效果(幀動畫)
1、準備幾張圖片(可命名為a1-a6) 2、在drawable資料夾下新建xml,內容如下 <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.androi
《常見演算法和資料結構》元素排序(1)——簡單排序(附動畫)
元素排序(1)——簡單排序 本系列文章主要介紹常用的演算法和資料結構的知識,記錄的是《Algorithms I/II》課程的內容,採用的是“演算法(第4版)”這本紅寶書作為學習教材的,語言是
android 動畫 從view頂部退出、進入(系列動畫)
<translate xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator"
javascript 面向物件(屬性型別)-筆記
屬性型別: 屬性在建立時都帶一些特徵值,javascript通過這些特殊值定義他們行為,javascript中有兩種屬性:資料屬性, 訪問器屬性 1.資料屬性 資料屬性包含一個數據的值的位置。在這個位
MFC 的ActiveX控制元件開發(屬性頁)
屬性頁 屬性頁使 ActiveX 控制元件使用者得以檢視和更改 ActiveX 控制元件屬性。可通過呼叫控制元件屬性對話方塊訪問這些屬性。該對話方塊包含一個或多個屬性頁,這些屬性頁提供自定義的圖形介面用於檢視和編輯控制元件屬性。 使用預設屬性頁 建立ActiveX控制元件專
實現網路請求時特定的載入動畫(幀動畫)
第一篇部落格,有點小小的激動。有些做過的東西當時可能記得很清楚,但是時間久了就會慢慢忘記,所以才決定開始記錄一些。先寫個最簡單的載入動畫。首先來看一下效果圖,就如中間哪裡書翻頁的效果。此動畫是用幀動畫來實現的。幀動畫是順序播放一組預先定義好的圖片,類似與電影播放。系統提供了A
Fresco載入gif實現圓角(無動畫)
/** * 將gif處理成圓形 * * @param imageView * @param url * @param reqWidth * @param reqHeight */ publ
android自定義環形統計圖(帶動畫)
一、測試截圖 二、實現原理 package com.freedomanlib; import java.util.Timer; import java.util.TimerTask; import android.annotation.SuppressLint;
【Android動畫九章】-AlphaAnimation(漸變動畫)
對於傳統動畫,Android提供了兩類動畫,即Tween(補間動畫)和Frame(幀動畫)。Tween動畫提供了四種動畫形式,即AlphaAnimation(漸變動畫)、RotateAnimation(旋轉動畫)、ScaleAnimation(尺寸動畫)、Tra
自定義PopupWindow彈出框(帶有動畫)和呼叫相簿相機佈局
使用PopupWindow來實現彈出框,並且帶有動畫效果 效果一:(第二張圖)首先自定義PopupWindow public class LostPopupWindow extends PopupWindow { public Lost lost;