Android

[Androidアニメーション]Shared Elements遷移

投稿日:2017年10月30日 更新日:

はじめに

最近、雨が多いですね。そんな時は家にこもって、プログラミングをするのが良いですよね。

今回は、Acitivity間の遷移をちょっとしたコーディングでかっこよくできる、Shared Elements遷移について紹介したいと思います。

※Android 5.0以降を前提としています。

Shared Elements遷移とは

Activity間の遷移アニメーションの一つです。2つのActivity間で共有(Share)されているビュー(Element)を、各Activity間でアニメーションさせて、遷移させることができます。Android Developerサイトにとても詳しく書かれていますので、こちらもご参照ください。

文章だけでは、よくわからないと思いますので、Master ActivityからDetail Activityに画像をアニメーションさせて、遷移するというシンプルな例で説明したいと思います。

layout xml

Master ActivityとDetail Activity間で共有したいビューに android:transitionName 属性を追加し、値としては同じ文字列を指定します。

Activity遷移

上記の設定をしたら、あとはMaster ActivityからDetail Activityに遷移させる実装します。特にDetailActivity側には処理を実装する必要はありません。

Master Activityの一番上の画像をタップしたら、Detail Activityに遷移させる単純な実装です。

その他

アニメーションの設定については、下記のとおりstyles.xmlで指定できます。自分でアニメーションのxmlを記述すれば、カスタム遷移も可能です。今回は、SDKで提供されているものを指定しています。

さいごに

今回は、Shared Elements遷移の簡単なサンプルを紹介しました。

実際の開発では、アニメーションのカスタマイズや、画像をサーバから取得する場合の工夫など、色々と実装しなければならないこともあると思います。まずは、このサンプルでShared Elements遷移のイメージだけでも掴んでいただければ幸いです。

blog-page_footer_336




blog-page_footer_336




-Android
-,

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

[Kotlin]DatePickerDialogとTimePickerDialogを使って見た。

1 はじめに2 Anko Commons3 DatePickerDialog3.1 DatePickerFlagment3.2 呼び出し方4 TimePickerDialog4.1 TimePicke ...

Android StudioのInstant Runの種類

1 はじめに2 概要3 全部で3種類4 コールドスワップになる条件5 ビルドおよびデプロイが実行される条件6 再実行について7 参考ページ8 さいごに はじめに はじめまして、nomuraと申します。 ...

Kotlinをはじめよう〜Kotlin基本文法〜

1 はじめに2 事前準備3 基本データ型4 変数5 条件分岐 if式6 条件分岐 when式7 繰り返し制御 while文8 繰り返し制御 for文9 さいごに10 おすすめ書籍 はじめに こんにちは ...

SafetyNet Attestation APIでRoot化チェック【基本的な検証編】

1 はじめに2 SafetyNet Attestation APIとは2.1 注意点2.1.1 レスポンス結果はアプリ内で判定しない2.1.2 JWSのキーチェーンをチェックする2.1.3 レスポンス ...

【Androidマテリアル】Ripple Effect

1 はじめに2 Ripple Effectとは3 設定方法4 カスタマイズ5 さいごに はじめに こんにちは、ソニーから新Aiboが発表されましたね。個人的には欲しいと思っているのですが、最近Goog ...

フォロー

follow us in feedly

blog-page_side_responsive

2017年10月
1234567
891011121314
15161718192021
22232425262728
293031 

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。
Get it on App Store
Get it on Google Play