Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
what's new in Material Design で気になったトピック
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
punchdrunker
May 26, 2023
Programming
660
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
what's new in Material Design で気になったトピック
punchdrunker
May 26, 2023
More Decks by punchdrunker
See All by punchdrunker
Kotlin2.0以降の新機能
punchdrunker
0
64
DnD in Compose
punchdrunker
0
350
7カ国語に対応したサービスでの翻訳管理システムの改善事例
punchdrunker
1
1.7k
Java Bytecode Vertical Tasting
punchdrunker
2
1.6k
getting started with dark theme
punchdrunker
2
1.1k
Practical Activity Transition in Android
punchdrunker
0
1.3k
今時のProgress indicator / Replacing ProgressDialog with ProgressBar
punchdrunker
0
750
レビュー評価4.7の秘密 / The Secret To A Better Reputation
punchdrunker
2
2.1k
Dynamic Feature Modules 入門
punchdrunker
2
2.8k
Other Decks in Programming
See All in Programming
アクセシビリティから考える情報設計
high_g_engineer
0
360
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
190
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
530
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
470
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
1.1k
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
330
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
450
Building an Out-of-Order CPU
latte72
1
760
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
デプロイ直後のレイテンシスパイクを調べたら、 Railsの仕様にたどり着いた
nhsykym
0
120
Security issues being discussed on Web Platforms
petamoriken
0
830
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
130
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Skip the Path - Find Your Career Trail
mkilby
1
230
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Optimising Largest Contentful Paint
csswizardry
37
4k
Leo the Paperboy
mayatellez
9
2.3k
The Invisible Side of Design
smashingmag
301
52k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Product Roadmaps are Hard
iamctodd
55
13k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Transcript
Google I/O 2023での Material Designまわりの話 @punchdrunker
mixi, Inc. What’s new in Material Design https://io.google/2023/program/630ffaa3-9b3d-4e30-a89f-91ef3e8052cf/intl/ja/
mixi, Inc. Materilal DesignとかMaterial Youとか - Material Design - 2014に発表されたデザインフレームワーク(Lollipopのプレビューが出た頃!!)
- 画面に配置する部品の設計方針などをまとめたガイドライン - ガイドラインに従った実装をサポートするライブラリ群 - 今は最新バージョンのMaterial 3とか M3とか呼ぶ事が多そう - Material You - Google I/O 2021で発表された - Material Desingの枠の中でユーザーに提供されるイイカンジの機能の総称 - アプリアイコンの形を設定で変えられる - 色の具合を設定で変えられる - 壁紙をイイカンジに変えられる
mixi, Inc. Material Design関連の主なライブラリ 従来のView用のライブラリとCompose用のライブラリは分かれているので、調査が若干大変。。。 - Compose Material (Jetpack)
- compose用のMDライブラリ - Compose Material 3(Jetpack) - Material Design 2もあった気がするけど3からパッケージ名が別名 - Material Components Android(非Jetpack) - 昔からあるView用のMDライブラリ - Javaで書かれてる - 別名MDC-AndroidとかMDC - Composeと並行してメンテされてる - Jetpackには入っていない
mixi, Inc.
mixi, Inc.
mixi, Inc. What’s new in Material Designで気になったトピック - Carousel -
RecyclerView用の LayoutManager が追加された - Dynamic Color - Content-based color - これまで壁紙に合わせたColorScheme(色のセット)はあったが、画像リソースや単色を指定して、ColorSchemeを作っ てくれる
mixi, Inc. Carousel 現状はMDCの方でしか実装されていないがComposeでも開発は進んでいる。 カタログアプリで実装されている。 https://github.com/material-components/material-components-android
- RecyclerViewのLayoutManagerとしてCarouselLayoutManagerが追加 - CarouselLayoutManagerにStrategyを渡して見せ型調整 - MultiBrowseCarouselStrategy - なるべく多くのセルを表示 - HeroCarouselStrategy - 1つ1つを強調して表示
mixi, Inc. Dynamic Color - Content-based color 2022くらいから端末の壁紙に合わせたColor schemeを選んでくれる仕組みはあった。(Android12以上)
画像リソースやColor resを渡すと最適なColor schemeを選んでテーマに組み込んでくれる仕組みが追加されるらしい。 https://m3.material.io/styles/color/dynamic-color/overview こちらも現状ではMDCでしか対応されていなさそう。 内部ではMaterial Color Utilityが使われている https://github.com/material-foundation/material-color-utilities - 渡されたbitmapをQuantizeしてScoreクラスで評価するとbaseSeedColorが得られる - baseSeedColorをもとにSchemeContentが作成されて、それをContextに反映してinflate - Pixel 6aで3秒くらい掛かったので、いろんな部品に使いまくるものではなさそう(200kBのpng)
mixi, Inc. 5 Key colors
mixi, Inc. Content-based colorの使い方(Activity) @Override protected void onCreate(Bundle savedInstanceState) {
// Invoke before the view is inflated in your activity. DynamicColors.applyToActivityIfAvailable( this, new DynamicColorsOptions.Builder() .setContentBasedSource(bitmap) // @ColorRes Intも渡せる .build() ); setContentView(R.layout.xyz); }
mixi, Inc. @Override public View onCreateView(LayoutInflater layoutInflater, ViewGroup viewGroup, Bundle
bundle) { Context context = DynamicColors.wrapContextIfAvailable( requireContext(), new DynamicColorsOptions.Builder() .setContentBasedSource(sourceColor) .build()); return layoutInflater.cloneInContext(context).inflate(R.layout.xyz, viewGroup, false); } Content-based colorの使い方(Fragment/View)
mixi, Inc. Content-based colorの使いどころ UIのどこにコンテンツが存在し、コンテンツに基づくカラーが人の体験を向上させることができるかを考えてみま しょう。独立した画面や画面の一部など、明確に定義されたスペースにあるコンポーネントやコンポーネントのク ラスターを探します。これらのコンポーネントが個人のコンテンツと関連している場合、コンテンツベースの色を 継承する効果的な機会がある可能性があります。
mixi, Inc. Androidアプリエンジニア採用してます https://team.mitene.us/jobs
mixi, Inc. おわり