SlideShare a Scribd company logo
1 of 40
Download to read offline
Android2でも動く
Materialデザイン実装
2015/01/14(水)Yusuke Konishi
今日話すこと
1. とにかく色々試してみたので紹介
2. そもそも下位OSで対応すべきなのか所感
3. まとめ
色々試してみた
キャッチアップの手順
1. まずGoogle純正のアプリ、Materialデザイン対応した
アプリ(Airbnb、Twitter、Path)をよく見る
2. Materialデザインガイドラインと照らし合わせて作る
今回試してみたところ
1. 色
2. 画面遷移アニメーション
3. スクロールアニメーション
4. Rippleエフェクト
5. ToolBar
6. タブ
7. フォント
1. 色
1. 色
デザインガイドラインで推奨カラーが定められている。こ
の色を使うと、Materialデザインに対応した時に違和感な
いよ、という指針。
他のアプリでは?
Google純正のアプリは当然この色に沿ってテーマカラー
を設定してる。
実装するには
難易度 ★☆☆☆☆
appcompat v21使ってテーマの色を変えるだけ。

日本語訳はこちら。



どこの色の設定がどこのパーツに影響するかは、Android
5.0 でのカラーカスタマイズと属性名の関係にまとめられ
てる。

2. 画面遷移アニメーション
2. 画面遷移アニメーション
デザインガイドラインのアニメーションの項目。
ActivityTransition、Shared Elementsと呼ばれるもの。
ふわっと浮き上がるような画面遷移や、前の画面の一部が
拡大して次の画面の一部になるようなアニメーションで、
操作している時に前後関係が把握しやすい。あと触ってて
気持ちいい。
他のアプリでは?
Google純正のアプリは、無理せずある程度やってる。
Airbnbのアニメーションはいい感じ。
実装するには
難易度 ★★☆☆☆
ActivityOptionsCompatを使ったり、アニメーションを自作
すれば対応可能。

[参考]

・YouTubeのAndroidアプリと同じ検索ビューを作ってみる

・v21未満の端末で、AirbnbアプリのようなShared
Elementっぽい動きを実装する
ただ、同じような見た目なのにアニメーションついたりつい
てなかったりすると強烈な違和感を感じるので、やるなら統
一して対応する必要あり。
3. スクロールアニメーション
3. スクロールアニメーション
デザインガイドラインのスクロールテクニックの項目。
スクロールすると上部がパララックスっぽく動いたり、
Toolbarが隠れたり、透明度が変わったりするやつ。
他のアプリでは?
GooglePlayStoreの詳細画面や、Airbnbの詳細画面はさ
りげなくていい感じ。Pathはめっちゃやってる。
実装するには
難易度 ★★★☆☆
単純なパララックス効果だけなら簡単。5.0くらい気持ちのよい
アニメーションにするのは大変。NotBoringActionBarのコード
が参考にしやすいかも。
4. Rippleエフェクト
4. Rippleエフェクト
Materialデザインの動画でも紹介されてる、水の波紋のよ
うなエフェクト。
他のアプリでは?
Google純正のアプリや他の有名なアプリはAndroid5.0以
上で対応。5.0未満は諦めてる。たぶんあえてやってな
い。
Materialデザインガイドラインの本質は、画面を似せるこ
とではなく、同じ基準で作ることによってユーザーが操作
する時に頭を使わないですむようにすることだと思うので、
Android5.0未満のRippleエフェクトが標準でない端末の
場合は逆に従来のタップフィードバックの方がいいよねと
いう判断?
実装するには
難易度 ★★☆☆☆
material-rippleを使うと導入は比較的簡単。

参考 : [Materialデザイン] Android5.0未満でRipple
effectを実装する
ただ、既存アプリを対応させる場合は全てのタップフィー
ドバックで対応する必要があるのでかなり面倒。
5. ToolBar
5. ToolBar
上部のバー。旧ActionBar。
以前の48dpから56dpになってる。NavigationDrawerの
アイコンや表示の仕方も変わってる。
他のアプリでは?
Google純正のアプリはほとんど対応。Airbnbは対応して
るけどDrawerの表示がちょっと古い。
実装するには
難易度 ★★☆☆☆
普通のActionBarの場合は割と簡単に移行可能。Drawer
もそんなに難しくない。AndroidのToolBar(新しい
ActionBar)メモを見れば大体問題ない。



ToolBarはただのViewなので、スクロールしたら隠すみた
いな動きもわりと簡単。
6. 上部タブ
6. 上部タブ
YouTubeやGooglePlayにあるやつ。Materialデザインだ
と、ここはテーマカラーにそろえるよう推奨されている。
他のアプリでは?
Google純正のアプリは完全対応。他のアプリは、なんか
納得できていないのか色を変えてる場合もある。
実装するには
難易度 ★☆☆☆☆
PagerSlidingTabStripを使うと簡単。attrを調整すればマ
テリアルデザインっぽくなる。
7. フォント
7. フォント
ガイドラインのTypographyの項目。アルファベット&数
字はRoboto、それ以外はNotoフォントを使うことが推奨
されている。デフォルトと違って、太さを細かく指定でき
る。
他のアプリでは?
Google純正アプリは、5.0未満は非対応。Airbnbは違う
フォントに変えているが、日本語のフォントは標準のまま。
実装するには
難易度 ★★★★☆
Calligraphyというライブラリを使うと全体に反映できるが、フォ
ントファイルのサイズが大きいのと、Google公式のNotoフォント
otfファイルを使うと変な余白が出るので微妙な感じになる。
そもそも下位OSで

対応すべきなのか
Materialデザインの本質
• Material Designのガイドラインは、「見た目を えよ
う!」というものではない。
• 「共通の動作や見た目はできるだけ統一してユーザーが
アプリごとに混乱しないですむようにしよう」っていう
思想だと思う。
Materialデザインに従うかどうか
• 「ユーザーがアプリごとに混乱しないですむようにしよ
う」っていう思想だとすると、あえてガイドラインに従
わないのもあり。
• 例えばフォントやRippleエフェクトは、5.0以前のユー
ザーには違和感でしかないかも。
個人的ジャッジメント
1. ⃝ 色
2. △ 画面遷移アニメーション
3. △ スクロールアニメーション
4. Rippleエフェクト
5. ⃝ ToolBar
6. ⃝ 上部タブ
7. フォント
まとめ
まとめ
• Android2でもMaterial Designの適用は大体可能。
• 見た目だけの問題ではないので、デザインの適用可否を
判断する必要あり。
• 対応するって決めた時のために準備しておくのが大事。
おわり

More Related Content

Similar to Android2でも動くMaterialデザイン実装

デザインツール戦争とMaterial Theme Editor
デザインツール戦争とMaterial Theme Editorデザインツール戦争とMaterial Theme Editor
デザインツール戦争とMaterial Theme EditorAsami Yamamoto
 
Rubyでアプリ開発(2013 0430)
Rubyでアプリ開発(2013 0430)Rubyでアプリ開発(2013 0430)
Rubyでアプリ開発(2013 0430)Shinichirou Nakamura
 
二求の塾 プログラミング講座(2019-08-10)
二求の塾 プログラミング講座(2019-08-10)二求の塾 プログラミング講座(2019-08-10)
二求の塾 プログラミング講座(2019-08-10)Atsuo Yamasaki
 
主婦でもできる Android Layout
主婦でもできる Android Layout主婦でもできる Android Layout
主婦でもできる Android LayoutHiromi Tsuzuki
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyoShuyo Nakatani
 
アプリデザインの共通言語
アプリデザインの共通言語アプリデザインの共通言語
アプリデザインの共通言語Hiroki Akiyama
 
「Camelog」Android開発秘話
「Camelog」Android開発秘話「Camelog」Android開発秘話
「Camelog」Android開発秘話Shoya Tsukada
 
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...エピック・ゲームズ・ジャパン Epic Games Japan
 
App Dojo 2017 12月 - VUI in your app with Dialogflow -
App Dojo 2017 12月 - VUI in your app with Dialogflow -App Dojo 2017 12月 - VUI in your app with Dialogflow -
App Dojo 2017 12月 - VUI in your app with Dialogflow -啓介 大橋
 
ペアプロどうでしょう?
ペアプロどうでしょう?ペアプロどうでしょう?
ペアプロどうでしょう?hiroyuki Yamamoto
 
知識ゼロからモバイルアプリをデザインして失敗した話
知識ゼロからモバイルアプリをデザインして失敗した話知識ゼロからモバイルアプリをデザインして失敗した話
知識ゼロからモバイルアプリをデザインして失敗した話FujishiroRumi
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1Hiroki Toyokawa
 
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツMori Keita
 
HoloLens 2 アプリ開発ハローワールド
HoloLens 2 アプリ開発ハローワールドHoloLens 2 アプリ開発ハローワールド
HoloLens 2 アプリ開発ハローワールドMadoka Chiyoda
 
モブプログラミングを体験しよう at Agile Japan 2017 愛媛サテライト
モブプログラミングを体験しよう at Agile Japan 2017 愛媛サテライトモブプログラミングを体験しよう at Agile Japan 2017 愛媛サテライト
モブプログラミングを体験しよう at Agile Japan 2017 愛媛サテライトToshiyuki Ando
 

Similar to Android2でも動くMaterialデザイン実装 (20)

デザインツール戦争とMaterial Theme Editor
デザインツール戦争とMaterial Theme Editorデザインツール戦争とMaterial Theme Editor
デザインツール戦争とMaterial Theme Editor
 
Rubyでアプリ開発(2013 0430)
Rubyでアプリ開発(2013 0430)Rubyでアプリ開発(2013 0430)
Rubyでアプリ開発(2013 0430)
 
JJUG 2015 Summer
JJUG 2015 SummerJJUG 2015 Summer
JJUG 2015 Summer
 
Coloris紹介
Coloris紹介Coloris紹介
Coloris紹介
 
Android icon deployment
Android icon deploymentAndroid icon deployment
Android icon deployment
 
二求の塾 プログラミング講座(2019-08-10)
二求の塾 プログラミング講座(2019-08-10)二求の塾 プログラミング講座(2019-08-10)
二求の塾 プログラミング講座(2019-08-10)
 
LT#6 Taskete
LT#6 TasketeLT#6 Taskete
LT#6 Taskete
 
主婦でもできる Android Layout
主婦でもできる Android Layout主婦でもできる Android Layout
主婦でもできる Android Layout
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
 
アプリデザインの共通言語
アプリデザインの共通言語アプリデザインの共通言語
アプリデザインの共通言語
 
「Camelog」Android開発秘話
「Camelog」Android開発秘話「Camelog」Android開発秘話
「Camelog」Android開発秘話
 
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
 
ABC 2012 spring
ABC 2012 springABC 2012 spring
ABC 2012 spring
 
App Dojo 2017 12月 - VUI in your app with Dialogflow -
App Dojo 2017 12月 - VUI in your app with Dialogflow -App Dojo 2017 12月 - VUI in your app with Dialogflow -
App Dojo 2017 12月 - VUI in your app with Dialogflow -
 
ペアプロどうでしょう?
ペアプロどうでしょう?ペアプロどうでしょう?
ペアプロどうでしょう?
 
知識ゼロからモバイルアプリをデザインして失敗した話
知識ゼロからモバイルアプリをデザインして失敗した話知識ゼロからモバイルアプリをデザインして失敗した話
知識ゼロからモバイルアプリをデザインして失敗した話
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
 
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
 
HoloLens 2 アプリ開発ハローワールド
HoloLens 2 アプリ開発ハローワールドHoloLens 2 アプリ開発ハローワールド
HoloLens 2 アプリ開発ハローワールド
 
モブプログラミングを体験しよう at Agile Japan 2017 愛媛サテライト
モブプログラミングを体験しよう at Agile Japan 2017 愛媛サテライトモブプログラミングを体験しよう at Agile Japan 2017 愛媛サテライト
モブプログラミングを体験しよう at Agile Japan 2017 愛媛サテライト
 

Android2でも動くMaterialデザイン実装