1. 程式人生 > >Android 顯示圖片的時候設定轉換動畫

Android 顯示圖片的時候設定轉換動畫

顯示圖片的時候設定轉換動畫

在點選一個圖片的時候,通常會新開一個介面專門顯示這個圖片,一般會乾脆設定一個新的Activity,讀取這個圖片資源。
但是我們希望能在Activity轉換的時候有一個動畫效果,就是圖片的位移和拉伸
沒錯,就像微信裡面那樣
其實,大部分APP都會這樣,沒有哪個開發者連這個都想不到。

如果兩個圖片有相同的內容,那麼Android提供了一種轉換方法來避免開發者手動設定,這類動畫如果手動設定是很麻煩的

首先,在style裡面設定如下,以啟用轉換動畫,並且確定動畫設定的檔案

<item name="android:windowContentTransitions"
>
true</item> <item name="android:windowSharedElementEnterTransition"> @transition/show_image_transition</item> <item name="android:windowSharedElementExitTransition"> @transition/show_image_transition</item>

這裡,就確定在show_image_transition.xml檔案裡會定義轉換動畫
在res資料夾下新建一個transition

的資料夾,建立如上所述檔案
定義內容如下

<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
    <changeImageTransform/>
    <changeBounds/>
</transitionSet>

這裡面的兩個的意義分別是
圖片轉換變化
位置變化
第一個設定會讓圖片大小平滑轉換
第二個會讓圖片位置平滑轉換
沒錯,就是我們通常看到的那樣
更多的設定看官方文件
transition
定義定製動畫

然後,在兩個需要轉換的VIEW裡面設定一個相同的屬性
android:transitionName="image_test"


這表示,會利用到一個稱之為image_test的轉換,下面我們會用到這個名稱。
因為如果有不同的轉換設定,可以在轉換的時候手動選擇用哪一個。

接下來,需要在java檔案中設定一下。
平時,轉換一個activity我們會這樣

Intent intent = new Intent(this,ShowPicActivity.class);
startActivity(intent);

如果需要轉換動畫,就需要這樣

Intent intent = new Intent(this,ShowPicActivity.class);
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this,imageView,"image_test");
startActivity(intent,options.toBundle());

startActivity()方法增加了一個設定,這個設定定義了轉換動畫
makeSceneTransitionAnimation()的第三個引數,就是剛才我們定義的名稱

這樣,就實現了通常看到的圖片轉換動畫

官方文件中有這樣一個說明,有些時候可能會需要。

以多個共享元素啟動一個操作行為
如果要在兩個擁有多個共享元素的操作行為之間安排場景轉換動畫,
請以 android:transitionName 屬性
(或在兩個操作行為中使用 View.setTransitionName() 方法)定義共享元素,
並以下列方式建立一個 ActivityOptions 物件:

ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this,
Pair.create(view1, “agreedName1”),
Pair.create(view2, “agreedName2”));

這些都是最基本的設定,通常我們需要一些複雜的轉換動畫,官方文件都有介紹,可以仔細參閱

相關推薦

Android 顯示圖片的時候設定轉換動畫

顯示圖片的時候設定轉換動畫 在點選一個圖片的時候,通常會新開一個介面專門顯示這個圖片,一般會乾脆設定一個新的Activity,讀取這個圖片資源。 但是我們希望能在Activity轉換的時候有一個動畫效果,就是圖片的位移和拉伸 沒錯,就像微信裡面那樣 其實

excel 匯出 顯示圖片 設定行高

效果圖: 不多說,直接上程式碼: if ($_REQUEST['act'] == 'export') { ini_set('memory_limit','500M'); set_time_limit(0); $sql = "SE

android專案圖片解析度轉換工具

                               Android Drawable Factory An application to create appropriate Drawable resources for you Android app.

Android 本地圖片 設定成寬高固定的背景

1:先獲得圖片的地址: 訪問收手機相簿: Intent intent= new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

android很多圖片做成幀動畫造成記憶體溢位的解決方法。

package com.familydoctor.widget; import android.os.Handler; import android.util.Log; import android.widget.ImageView; import com.familydo

ImageView的Scaletype決定了圖片在View上顯示時的樣子,如進行何種比例的縮放,及顯示圖片的整體還是部分,等等。 設定的方式包括: 1. 在layout xml中定義Android:s

ImageView的Scaletype決定了圖片在View上顯示時的樣子,如進行何種比例的縮放,及顯示圖片的整體還是部分,等等。 設定的方式包括: 1. 在layout xml中定義Android:scaleType="CENTER" 2. 或在程式碼中呼叫i

Android開發教程--設定ImageView圖片顯示比例

為適應不同螢幕的手機,ImageView圖片的顯示比例,可以使用android:scaleType屬性來處理,處理方式的有以下幾種: 1、在xml配置中使用:android:scaleType="centerCrop" 2、在程式碼中使用:   imageView.setS

Android開源項目:GifView——Android顯示GIF動畫

down pan 常用 ets ole lan parse googl ima 下載:http://code.google.com/p/gifview/downloads/list 簡介:android中現在沒有直接顯示gif的view,只能通過mediaplay來顯示,

Android ImageView setImageBitmap 不顯示圖片

true byte onf fig .config 顯示圖片 pri factory deb 從sd卡裏讀出圖片後有時調用setImageBitmap(bitmap)方法會顯示不出圖片,仔細考慮過後原來是加載的圖片過大導致的,解決辦法為: BitmapFactory.

Android】使用IconFont顯示圖片,從而縮小體積

center png 分享 壓縮 you 通過 顯示 white 下載 1、從http://www.iconfont.cn/選取需要添加的圖標,添加到購物車。2、在購物車中選擇下載代碼。 3、打開壓縮包,將壓縮包中的四個文件放入工程中的asstes文件夾下。 4、在代碼中通

Android 圖片Bitmap,drawable,res資源圖片之間轉換

圖形 oid ott tor new phi mpat from vertical 一、知識介紹   ①res資源圖片是放在項目res文件下的資源圖片   ②BitMap位圖,一般文件後綴為BMP,需要編碼器編碼,如RGB565,RGB8888等。一種逐像素的顯示對象,其執

Android獲取圖片資源之 拍照後在程式中顯示照片

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android RecyclerView、設定佈局管理器、設定Item增加、移除動畫、新增分割線

概述 RecyclerView出現已經有一段時間了,相信大家肯定不陌生了,大家可以通過匯入support-v7對其進行使用。 據官方的介紹,該控制元件用於在有限的視窗中展示大量資料集,其實這樣功能的控制元件我們並不陌生,例如:ListView、GridView。 那麼有了ListView、G

Flask顯示圖片設定圖片的快取時間

1.顯示圖片 想要Flask在網頁中顯示圖片,需要使用template 模板,例如 index.py from flask import Flask, render_template, url_for app = Flask(__name__) @app.route('/', met

Android開發——獲得Json資料,並顯示圖片

流程介紹 使用okhttp網路框架進行get請求,獲得json資料 //一個封裝好的工具類的靜態方法 public static void sendOkHttpRequest(final String address, final okhttp3.Callback callback) {

android WebView載入URL不顯示圖片

WebSettings settings = mWebView.getSettings(); settings.setJavaScriptEnabled(true);//

android textview使用ttf字型顯示圖片

  最近在研究一個元件時,發現使用textview顯示了一張圖片,原以為android原生支援,仔細研究了下,是用ttf字型實現的,記錄下   網上的介紹文章很多,這裡就不囉嗦了,連結 https://www.jianshu.com/p/ba1d076a1e31    這裡補充幾點:

Android TextView使用HTML處理字型樣式、顯示圖片

         學Android的時候突然想到一個問題:怎麼用TextView控制元件顯示帶有格式的文字,可否使用Html佈局?查了下Android 幫助文件,其提供了android.text.Html類和Html.ImageGetter、Html.TagHandler介

Xamarin.Android ImageView 圖片圓角顯示

第一步:在 values 資料夾下新增 Attrs.xml 檔案 <?xml version="1.0" encoding="utf-8" ?> <resources> <declare-styleable name="RoundImageView">

android imageview中設定圖片變灰

原文連結 http://blog.csdn.net/chaozhidan/article/details/51482895 將ImageView變成灰色ColorMatrix matrix = new ColorMatrix();matrix.setSaturation(