Movatterモバイル変換
[0]
ホーム
URL:
画像なし
夜間モード
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Takao Sumitomo
PDF, PPTX
18,064 views
用途に合わせたアニメーションの実装方法
Droidkaigi2016の発表資料です。
Technology
◦
Read more
15
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 50
2
/ 50
3
/ 50
4
/ 50
5
/ 50
6
/ 50
7
/ 50
8
/ 50
9
/ 50
10
/ 50
11
/ 50
12
/ 50
13
/ 50
14
/ 50
15
/ 50
16
/ 50
17
/ 50
18
/ 50
19
/ 50
20
/ 50
21
/ 50
22
/ 50
23
/ 50
24
/ 50
25
/ 50
26
/ 50
27
/ 50
28
/ 50
29
/ 50
30
/ 50
31
/ 50
32
/ 50
33
/ 50
34
/ 50
35
/ 50
36
/ 50
37
/ 50
38
/ 50
39
/ 50
40
/ 50
41
/ 50
42
/ 50
43
/ 50
44
/ 50
45
/ 50
46
/ 50
47
/ 50
48
/ 50
49
/ 50
50
/ 50
Recommended
PDF
開発を効率的に進めるられるまでの道程
by
Takao Sumitomo
PDF
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
by
Yu Nobuoka
PDF
僕らのデータ同期プラクティス
by
Yukiya Nakagawa
PDF
パーミッションモデルの過渡期への対応
by
ak_shio_555
PDF
テストがあればなんとかなる〜効率化までの道程〜
by
Takao Sumitomo
PDF
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
by
Masataka Kono
PDF
最速でリリースするためのAndroidアプリデザイン
by
Naoki Aoyama
PDF
DroidKaigi2016 windows環境での効率的なアプリ開発手法
by
tkawashita
PDF
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
by
Kenichi Tatsuhama
PPTX
HTML5/JavaScriptで作るAndroidアプリ開発seminar
by
kujirahand kujira
PDF
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
by
Yukiya Nakagawa
PDF
Android学ぶを君へ。生き抜くためのナレッジ共有
by
Shinobu Okano
PDF
いい感じのフロントエンド開発環境を作ってみた
by
Hayashi Yuichi
PDF
Android,Brillo,ChromeOS
by
l_b__
PDF
Android Dev Tools Knowledge
by
Shinobu Okano
PDF
[potatotips #18] Android M Developer Preview & Wear 最新トピック
by
Kenichi Kambara
PDF
Alternative WebView
by
Shigeki Yamato
PDF
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
by
一希 大田
PDF
AndroidLint #DroidKaigi
by
Yukiya Nakagawa
PDF
LIGでのDocker活用
by
Hayashi Yuichi
PDF
potatotips (iOS/Android開発Tips共有会) 第19回 資料
by
Takao Sumitomo
PDF
Angularおじさんの1年
by
Hayashi Yuichi
PPTX
VS Code Day 2021 Recap
by
Yuki Ueda
PDF
LIGにおけるフロントエンドチーム構築
by
Hayashi Yuichi
PDF
SQLiteDatabaseを無理矢理覗く
by
Takao Sumitomo
PDF
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
by
Makoto Yamazaki
PDF
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
by
Kengo Suzuki
PDF
Front-end package managers
by
Hayashi Yuichi
PDF
Viewを動的に変化させるアプローチ
by
Takao Sumitomo
PDF
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
by
Fumiya Sakai
More Related Content
PDF
開発を効率的に進めるられるまでの道程
by
Takao Sumitomo
PDF
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
by
Yu Nobuoka
PDF
僕らのデータ同期プラクティス
by
Yukiya Nakagawa
PDF
パーミッションモデルの過渡期への対応
by
ak_shio_555
PDF
テストがあればなんとかなる〜効率化までの道程〜
by
Takao Sumitomo
PDF
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
by
Masataka Kono
PDF
最速でリリースするためのAndroidアプリデザイン
by
Naoki Aoyama
PDF
DroidKaigi2016 windows環境での効率的なアプリ開発手法
by
tkawashita
開発を効率的に進めるられるまでの道程
by
Takao Sumitomo
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
by
Yu Nobuoka
僕らのデータ同期プラクティス
by
Yukiya Nakagawa
パーミッションモデルの過渡期への対応
by
ak_shio_555
テストがあればなんとかなる〜効率化までの道程〜
by
Takao Sumitomo
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
by
Masataka Kono
最速でリリースするためのAndroidアプリデザイン
by
Naoki Aoyama
DroidKaigi2016 windows環境での効率的なアプリ開発手法
by
tkawashita
What's hot
PDF
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
by
Kenichi Tatsuhama
PPTX
HTML5/JavaScriptで作るAndroidアプリ開発seminar
by
kujirahand kujira
PDF
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
by
Yukiya Nakagawa
PDF
Android学ぶを君へ。生き抜くためのナレッジ共有
by
Shinobu Okano
PDF
いい感じのフロントエンド開発環境を作ってみた
by
Hayashi Yuichi
PDF
Android,Brillo,ChromeOS
by
l_b__
PDF
Android Dev Tools Knowledge
by
Shinobu Okano
PDF
[potatotips #18] Android M Developer Preview & Wear 最新トピック
by
Kenichi Kambara
PDF
Alternative WebView
by
Shigeki Yamato
PDF
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
by
一希 大田
PDF
AndroidLint #DroidKaigi
by
Yukiya Nakagawa
PDF
LIGでのDocker活用
by
Hayashi Yuichi
PDF
potatotips (iOS/Android開発Tips共有会) 第19回 資料
by
Takao Sumitomo
PDF
Angularおじさんの1年
by
Hayashi Yuichi
PPTX
VS Code Day 2021 Recap
by
Yuki Ueda
PDF
LIGにおけるフロントエンドチーム構築
by
Hayashi Yuichi
PDF
SQLiteDatabaseを無理矢理覗く
by
Takao Sumitomo
PDF
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
by
Makoto Yamazaki
PDF
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
by
Kengo Suzuki
PDF
Front-end package managers
by
Hayashi Yuichi
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
by
Kenichi Tatsuhama
HTML5/JavaScriptで作るAndroidアプリ開発seminar
by
kujirahand kujira
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
by
Yukiya Nakagawa
Android学ぶを君へ。生き抜くためのナレッジ共有
by
Shinobu Okano
いい感じのフロントエンド開発環境を作ってみた
by
Hayashi Yuichi
Android,Brillo,ChromeOS
by
l_b__
Android Dev Tools Knowledge
by
Shinobu Okano
[potatotips #18] Android M Developer Preview & Wear 最新トピック
by
Kenichi Kambara
Alternative WebView
by
Shigeki Yamato
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
by
一希 大田
AndroidLint #DroidKaigi
by
Yukiya Nakagawa
LIGでのDocker活用
by
Hayashi Yuichi
potatotips (iOS/Android開発Tips共有会) 第19回 資料
by
Takao Sumitomo
Angularおじさんの1年
by
Hayashi Yuichi
VS Code Day 2021 Recap
by
Yuki Ueda
LIGにおけるフロントエンドチーム構築
by
Hayashi Yuichi
SQLiteDatabaseを無理矢理覗く
by
Takao Sumitomo
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
by
Makoto Yamazaki
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
by
Kengo Suzuki
Front-end package managers
by
Hayashi Yuichi
Similar to 用途に合わせたアニメーションの実装方法
PDF
Viewを動的に変化させるアプローチ
by
Takao Sumitomo
PDF
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
by
Fumiya Sakai
PDF
実践アニメーション
by
Naoya Yunoue
PDF
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ
by
Fumiya Sakai
PPTX
Androidにかっこよく動くアイコンを
by
Keigo Amai
PPTX
Androidにかっこよく動くアイコンを
by
Keigo Amai
PDF
第二回Android training4desinger 2
by
Kengo Suzuki
PPTX
AndroidのアニメーションをちょっとだけLT
by
Shoichi Takagi
ODP
アニメーションクラス
by
komagine
Viewを動的に変化させるアプローチ
by
Takao Sumitomo
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
by
Fumiya Sakai
実践アニメーション
by
Naoya Yunoue
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ
by
Fumiya Sakai
Androidにかっこよく動くアイコンを
by
Keigo Amai
Androidにかっこよく動くアイコンを
by
Keigo Amai
第二回Android training4desinger 2
by
Kengo Suzuki
AndroidのアニメーションをちょっとだけLT
by
Shoichi Takagi
アニメーションクラス
by
komagine
More from Takao Sumitomo
PDF
sharedUserIdを使った俺得開発ツールの作り方
by
Takao Sumitomo
PDF
アプリを成長させるためのログ取りとログ解析に必要なこと
by
Takao Sumitomo
PPTX
エンジニアがプロダクト育成を始めるまでにやったこと
by
Takao Sumitomo
PDF
フォクすけロボ開発進捗報告
by
Takao Sumitomo
PDF
高速でトライ&エラーを するために気をつけてること
by
Takao Sumitomo
PDF
Firefox OSの何が嬉しいか
by
Takao Sumitomo
PDF
Camera API 1と2が混在するプロダクトの開発で 泣いたこととそのワークアラウンド
by
Takao Sumitomo
PDF
僕は上スワイプでBottomSheetを出したかっただけなんだ
by
Takao Sumitomo
PPTX
Uml速習会
by
Takao Sumitomo
PDF
勉強会資料 データ構造とアルゴリズム
by
Takao Sumitomo
PDF
勉強会資料 Uml概要
by
Takao Sumitomo
PDF
プロダクトを育てるのにGoogleのサービスが助けてくれること
by
Takao Sumitomo
PDF
HTML5でFirefox OSアプリを作ろう
by
Takao Sumitomo
ODP
(beta)アプリを成長させるためのログ取りとログ解析に必要なこと
by
Takao Sumitomo
PPTX
Wantedlyのテスト事情
by
Takao Sumitomo
PDF
CIのビルドを通知する仕組みをAndroidとFirestoreで作った話
by
Takao Sumitomo
PDF
AdapterToolboxでRecyclerViewを楽にする
by
Takao Sumitomo
PDF
今更ながらCSS3を試してみた
by
Takao Sumitomo
PDF
Maker Faire Bay Areaに行きたかったのでGoogle I/Oに行ってきた
by
Takao Sumitomo
PDF
Crystalskullを改造してみる
by
Takao Sumitomo
sharedUserIdを使った俺得開発ツールの作り方
by
Takao Sumitomo
アプリを成長させるためのログ取りとログ解析に必要なこと
by
Takao Sumitomo
エンジニアがプロダクト育成を始めるまでにやったこと
by
Takao Sumitomo
フォクすけロボ開発進捗報告
by
Takao Sumitomo
高速でトライ&エラーを するために気をつけてること
by
Takao Sumitomo
Firefox OSの何が嬉しいか
by
Takao Sumitomo
Camera API 1と2が混在するプロダクトの開発で 泣いたこととそのワークアラウンド
by
Takao Sumitomo
僕は上スワイプでBottomSheetを出したかっただけなんだ
by
Takao Sumitomo
Uml速習会
by
Takao Sumitomo
勉強会資料 データ構造とアルゴリズム
by
Takao Sumitomo
勉強会資料 Uml概要
by
Takao Sumitomo
プロダクトを育てるのにGoogleのサービスが助けてくれること
by
Takao Sumitomo
HTML5でFirefox OSアプリを作ろう
by
Takao Sumitomo
(beta)アプリを成長させるためのログ取りとログ解析に必要なこと
by
Takao Sumitomo
Wantedlyのテスト事情
by
Takao Sumitomo
CIのビルドを通知する仕組みをAndroidとFirestoreで作った話
by
Takao Sumitomo
AdapterToolboxでRecyclerViewを楽にする
by
Takao Sumitomo
今更ながらCSS3を試してみた
by
Takao Sumitomo
Maker Faire Bay Areaに行きたかったのでGoogle I/Oに行ってきた
by
Takao Sumitomo
Crystalskullを改造してみる
by
Takao Sumitomo
用途に合わせたアニメーションの実装方法
1.
DroidKaigi 2016 @cattaka_net用途に合わせたアニメーションの実装方法Takao Sumitomo@cattaka_net
2.
DroidKaigi 2016 @cattaka_net自己紹介●住友 孝郎(Takao Sumitomo)●Androidアプリ開発者●開発経歴●Androidアプリ●iOSアプリ(ちょっとだけ)●業務系Webアプリケーション●業務系Windowsアプリ●その他●電子工作●OpenCV●ウォンテッドリー株式会社所属2014年12月〜
3.
DroidKaigi 2016 @cattaka_netアプリに動きをつけていますか?
4.
DroidKaigi 2016 @cattaka_net必要なときにググれば良いと思っていませんか
5.
DroidKaigi 2016 @cattaka_net実はアニメーションの仕組みはAndroidのFWには沢山あります
6.
DroidKaigi 2016 @cattaka_net一口にアニメーションといっても対象は何があるでしょう●Viewの中身を動かす●View自体を動かす●複数のViewを含むレイアウトを切り替える
7.
DroidKaigi 2016 @cattaka_net今のAndroidフレームワークの現状●それぞれに仕組みが準備されています。●でも新しいのや古いのやでそれぞれに複数あり、ややこしいことになっている
8.
DroidKaigi 2016 @cattaka_net今回はそれを整理したいというお話です
9.
DroidKaigi 2016 @cattaka_netViewの中身を動かす
10.
DroidKaigi 2016 @cattaka_netViewの中身を動かす●2種類●Animation Drawable●Animated Vector
Drawable
11.
DroidKaigi 2016 @cattaka_netAnimation Drawable●要はパラパラアニメ●必要なもの:複数の画像 &
xml(1) (2)(3)
12.
DroidKaigi 2016 @cattaka_netAnimation Drawable<?xml version="1.0"
encoding="utf-8"?><animation-listxmlns:android="http://schemas.android.com/apk/res/android"android:oneshot="false"><itemandroid:drawable="@drawable/roll_cat_1"android:duration="200"/><itemandroid:drawable="@drawable/roll_cat_2"android:duration="200"/><itemandroid:drawable="@drawable/roll_cat_1"android:duration="200"/><itemandroid:drawable="@drawable/roll_cat_3"android:duration="200"/></animation-list>drawable/roll_cat.xml
13.
DroidKaigi 2016 @cattaka_netAnimation DrawableImageView logoImage=
(ImageView) findViewById(R.id.image_logo);logoImage.setBackgroundResource(R.drawable.roll_cat);AnimationDrawable rollCatDrawable= (AnimationDrawable) logoImage.getDrawable();rollCatDrawable.start();アニメーションを開始するコード
14.
DroidKaigi 2016 @cattaka_netAnimated Vector Drawable●SVGをアニメーションさせる●必要なもの:xml
15.
DroidKaigi 2016 @cattaka_netAnimated Vector Drawable<?xml
version="1.0" encoding="utf-8"?><vector xmlns:android="http://schemas.android.com/apk/res/android"android:height="64dp"android:width="64dp"android:viewportHeight="600"android:viewportWidth="600" ><group android:name="characterGroup"><pathandroid:name="character"android:fillColor="#000000"android:pathData="M 80,0 24,24 0,80 l 24,56 56, -省略-” /></group><group android:name="feedGroup"android:translateX="80"><pathandroid:fillColor="#000000"android:pathData="M 72,64 l -8,8 0,16 8,8 16,0 8-省略-” />/></group></vector>これは動きのないただのSVG
16.
DroidKaigi 2016 @cattaka_netAnimated Vector Drawable<?xml
version="1.0" encoding="utf-8"?><animated-vectorxmlns:android="http://schemas.android.com/apk/res/android"android:drawable="@drawable/vector_drawable" ><targetandroid:name="feedGroup"android:animation="@anim/av_translation" /><targetandroid:name="character"android:animation="@anim/av_path_morph" /></animated-vector>android:animationで動きを入れる
17.
DroidKaigi 2016 @cattaka_netView自体を動かす
18.
DroidKaigi 2016 @cattaka_netView Animation●必要なもの:xml &
code
19.
DroidKaigi 2016 @cattaka_netView Animation<?xml version="1.0"
encoding="utf-8"?><translatexmlns:android="http://schemas.android.com/apk/res/android"android:duration="3000"android:fromXDelta="0%"android:fromYDelta="0%"android:interpolator="@android:anim/bounce_interpolator"android:toXDelta="100%"android:toYDelta="100%"/>Animation anim = AnimationUtils.loadAnimation(this, R.anim.va_move);mTargetButton.startAnimation(anim);xmlでアニメーションを定義コードからアニメーションを実行
20.
DroidKaigi 2016 @cattaka_netView AnimationTranslateAnimation anim=
new TranslateAnimation(0, mTargetView.getWidth(),0, mTargetView.getHeight());anim.setDuration(3000);mTargetView.startAnimation(anim);コードからアニメーションを実行コードでアニメーションを定義
21.
DroidKaigi 2016 @cattaka_netProperty Animation●2通りの実装がFWにある●ObjectAnimatorクラス●必要なもの:xml or
code●リフレクションを使っていて、属性の名前でアニメーションさせる●ViewPropertyAnimatorクラス●必要なもの:code●codeからしか使えないが、手軽に使える
22.
DroidKaigi 2016 @cattaka_netObjectAnimator<?xml version="1.0" encoding="utf-8"?><objectAnimatorxmlns:android="http://schemas.android.com/apk/res/android"android:duration="3000"android:interpolator="@android:anim/bounce_interpolator"android:propertyName="translationX"android:valueFrom="0"android:valueTo="300"android:valueType="floatType"/>Animator
anim= AnimatorInflater.loadAnimator(this, R.animator.pa_move);anim.setTarget(mTargetButton);anim.start();このtranslationXは何処を指しているか?xmlでアニメーションを定義コードからアニメーションを実行
23.
DroidKaigi 2016 @cattaka_netObjectAnimatorViewクラスのメソッドを指している。つまりリフレクションで叩いている。
24.
DroidKaigi 2016 @cattaka_netObjectAnimatorObjectAnimator animator= ObjectAnimator.ofFloat(mTargetButton,
"translationX",0F, mTargetButton.getWidth());animator.setDuration(3000);animator.start();他にも ofInt や ofObject や ofMultiFloat などがあるコードからアニメーションを実行コードでアニメーションを定義
25.
DroidKaigi 2016 @cattaka_netViewPropertyAnimatormTargetView.animate().translationX(mTargetButton.getWidth()).setDuration(3000).start();mTargetView.animate().rotation(360f).setDuration(3000).start();X方向に平行移動360°回転移動や回転以外に拡大縮小や透過も同じように書けます
26.
DroidKaigi 2016 @cattaka_net複数のViewを含むレイアウト
27.
DroidKaigi 2016 @cattaka_net名前の整理●Activity Animation●Fragment Animation●Transition●Activity
Transition●Fragment Transitionそれぞれ異なる動きをする。(正式名称が見当たらなものは仮の名前です)
28.
DroidKaigi 2016 @cattaka_netActivity/Fragment Animation
29.
DroidKaigi 2016 @cattaka_netActivity Animation●必要なもの:xml &
code●Viewを動かすのに使ったアニメーションと同じものを使うIntent intent = new Intent(this, At2Activity.class);startActivity(intent);overridePendingTransition(R.anim.aa_slide_in, R.anim.aa_slide_out);
30.
DroidKaigi 2016 @cattaka_netFragment Animation●必要なもの:xml &
code●Viewを動かすのに使ったアニメーションと同じものを使う●Support LibraryのFragmentかどうかによって落とし穴がある●Support Libraryを使うとき– View Animationを使う●Support Libraryを使わないとき– Property Animationを使う
31.
DroidKaigi 2016 @cattaka_netFragment AnimationFragment fragment
= Fa1Fragment.newInstance();FragmentTransaction ft = getSupportFragmentManager().beginTransaction();ft.setCustomAnimations(R.anim.aa_slide_in, R.anim.aa_slide_out);ft.replace(R.id.layout_fragment, fragment);ft.commit();バックキーで戻る時のアニメーションを指定する引数が4つのものも存在します。
32.
DroidKaigi 2016 @cattaka_netTransition
33.
DroidKaigi 2016 @cattaka_net3つのTransition共通の考え方●遷移前と遷移後のレイアウトに含まれるViewを3つのグループに分けて考える●前後の画面と共通のView●前の画面のみのView●後の画面のみのView●これら3グループについてそれぞれ動きを指定する
34.
DroidKaigi 2016 @cattaka_net3つのTransition共通の考え方(1)(2)(3)(4)●前後の画面と共通のView:(1)は移動させる●前の画面のみのView :(2)(3)はフェードアウトさせる●後の画面のみのView :(4)はフェードインさせる
35.
DroidKaigi 2016 @cattaka_netTransition●必要なもの:xml & code●ViewGroupの中身を入れ替えるときに使う●正直ViewGroupをコードから直接追加したり除去したり余りしないのでそもそも出番がすくない
36.
DroidKaigi 2016 @cattaka_netTransition(1)(2)(3)(4)
37.
DroidKaigi 2016 @cattaka_netTransitionScene scene =
Scene.getSceneForLayout(mContainerLayout,R.layout.activity_ta_child_rb, this);Transition transition= TransitionInflater.from(this).inflateTransition(R.transition.ta);TransitionManager.go(scene, transition);対象となるViewGroup遷移後のレイアウトどのように遷移するか(次ページ)実行
38.
DroidKaigi 2016 @cattaka_netTransition<?xml version="1.0" encoding="utf-8"?><transitionSetxmlns:android="http://schemas.android.com/apk/res/android"><fade/><changeBounds><targets><target
android:excludeId="@id/button_excluded"/></targets></changeBounds></transitionSet>
39.
DroidKaigi 2016 @cattaka_net指定できる動きの種類Class Tag 動きAutoTransition
<autoTransition/> 自動Fade <fade/> フェードイン/アウト(オプションで指定)ChangeBounds <changeBounds/> 移動とリサイズJavadocを見ると、この他にChangeClipBounds, ChangeImageTransform,ChangeScroll, ChangeTransform, TransitionSet, Visibility, Explode, Slideがある
40.
DroidKaigi 2016 @cattaka_netActivity Transition●必要なもの:xml or
code(1)(2)(3)(4)
41.
DroidKaigi 2016 @cattaka_netActivity TransitionActivityOptions options=
ActivityOptions.makeSceneTransitionAnimation(this,new Pair<>(view.findViewById(R.id.image_logo),“transition:image_logo”));getWindow().setSharedElementEnterTransition(new ChangeBounds());getWindow().setSharedElementReturnTransition(new ChangeBounds());getWindow().setEnterTransition(new Fade());getWindow().setExitTransition(new Explode());Intent intent = new Intent(this, At2Activity.class);startActivity(intent, options.toBundle());遷移の前後で共通の要素を指定それぞれの動きを指定する
42.
DroidKaigi 2016 @cattaka_netActivity Transition<?xml version="1.0"
encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><ImageViewandroid:id="@+id/image_logo"android:layout_width="match_parent"android:layout_height="wrap_content"android:adjustViewBounds="true"android:src="@drawable/logo"android:transitionName=“transition:image_logo”/><Buttonandroid:id="@+id/button3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:layout_gravity="center_horizontal"android:text="Button 3"/></RelativeLayout>
43.
DroidKaigi 2016 @cattaka_netFragment Transition●必要なもの:xml or
code(1)(2)(3)(4)
44.
DroidKaigi 2016 @cattaka_netFragment TransitionFragment fragment
= Ft2Fragment.newInstance();fragment.setEnterTransition(new Fade(Fade.IN));fragment.setExitTransition(new Fade(Fade.OUT));fragment.setSharedElementEnterTransition(new ChangeBounds());fragment.setSharedElementReturnTransition(new ChangeBounds());FragmentTransaction ft = getFragmentManager().beginTransaction();ft.replace(R.id.layout_fragment, fragment);Fragment currentFragment= getFragmentManager().findFragmentById(R.id.layout_fragment);ft.addSharedElement(currentFragment.getView().findViewById(R.id.image_logo),"transition:image_logo");ft.addSharedElement( currentFragment.getView().findViewById(R.id.button_a),"transition:button_a");ft.addToBackStack(null);ft.commit();遷移の前後で共通の要素を指定それぞれの動きを指定する
45.
DroidKaigi 2016 @cattaka_netFragment Transition<?xml version="1.0"
encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><!-- 省略 --><ImageViewandroid:id="@+id/image_logo"~~~~~~android:transitionName="transition:image_logo"/><FrameLayout~~~~~~><Buttonandroid:id="@+id/button_a"~~~~~~android:text="Button A"android:transitionName="transition:button_a"/></FrameLayout><!-- 省略 --></RelativeLayout>
46.
DroidKaigi 2016 @cattaka_netAPIレベルについて名前 API LevelDrawable
Animation 1 (Android 1.0)Animated Vector Drawable 21 (Android 5.0)View Animation 1 (Android 1.0)Property Animation 11 (Android 3.0.x)Transition 19 (Android 4.4)Activity Transition 21 (Android 5.0)Fragment Transition 21 (Android 5.0)
47.
DroidKaigi 2016 @cattaka_netAPIレベルについて●Android 5.0で一通り揃っている●Transitionが比較的新しいバージョンでないと使えない●Support Libraryにメソッドはあるけど肝心のTransitionのクラスが無いので使えない
48.
DroidKaigi 2016 @cattaka_netまとめ●アニメーションの仕組みは地味に多い●でもそれぞれ用途が異なる●用途に合わせたものを使おう●ユーザーにわかりやすい表現をしよう
49.
DroidKaigi 2016 @cattaka_netサンプルアプリhttps://github.com/cattaka/LearnAnimationほとんどのコードのSnippetが入ってます
50.
DroidKaigi 2016 @cattaka_netご清聴ありがとうございましたTakao Sumitomo@cattaka_net
Download
[8]
ページ先頭
©2009-2025
Movatter.jp