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
?
Search
Keishin Yokomaku
February 18, 2015
Technology
570
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
?
Keishin Yokomaku
February 18, 2015
More Decks by Keishin Yokomaku
See All by Keishin Yokomaku
Base64 in Android
keithyokoma
0
68
One screen, many BottomSheets
keithyokoma
0
490
LazyColumnのitemがViewPortの中で占める領域の割合を知りたい
keithyokoma
0
780
Build apps for Cars
keithyokoma
0
610
Save the state
keithyokoma
0
650
Either in Kotlin
keithyokoma
0
660
持続的なアプリ開発のためのDXを支える技術
keithyokoma
2
5.7k
Make the objects serializable with kotlinx.serialization
keithyokoma
0
5.4k
Kotlin で書く Gradle Custom Tasks
keithyokoma
0
590
Other Decks in Technology
See All in Technology
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
330
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
190
USB PDを使ってスマホを労わりたい
raspython3
0
180
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
430
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
140
How to Design Configuration for Rails Applications
willnet
1
770
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
210
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
110
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
0
420
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
6k
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
820
Marketing to machines
jonoalderson
1
5.9k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Technical Leadership for Architectural Decision Making
baasie
3
600
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
550
Exploring anti-patterns in Rails
aemeredith
4
540
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Unsuck your backbone
ammeep
672
58k
Transcript
? @KeithYokoma - Drivemode, Inc. potatotips #14
KeithYokoma Keishin Yokomaku Drivemode, Inc. Android Engineer GitHub: https://github.com/KeithYokoma Qiita:
http://qiita.com/KeithYokoma e-Book: http://amzn.to/1mZNydv
?
<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android" android:layout_width=“match_parent” android:layout_height=“wrap_content” android:minHeight=“?android:attr/listPreferredItemHeight”> <!—— content ——> </RelativeLayout>
<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android" android:layout_width=“match_parent” android:layout_height=“wrap_content” android:minHeight=“?android:attr/listPreferredItemHeight”> <!—— content ——> </RelativeLayout>
<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android" android:layout_width=“match_parent” android:layout_height=“wrap_content” android:minHeight=“?android:attr/listPreferredItemHeight”> <!—— content ——> </RelativeLayout>
?
Referencing style attributes Allows us to reference the value of
the attribute in the currently-applied theme. Format: ?[<package_name>:][<resource_type>/]<resource_name>
<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android" android:layout_width=“match_parent” android:layout_height=“wrap_content” android:minHeight=“?android:attr/listPreferredItemHeight”> <!—— content ——> </RelativeLayout> <resources>
<style name=“MyTheme” parent=“Theme.Light”> <item name=“android:listPreferredItemHeight”>64dp</item> </style> </resources>
<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android" android:layout_width=“match_parent” android:layout_height=“wrap_content” android:minHeight=“?android:attr/listPreferredItemHeight”> <!—— content ——> </RelativeLayout> <resources>
<style name=“MyTheme” parent=“Theme.Light”> <item name=“android:listPreferredItemHeight”>64dp</item> </style> </resources>
<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android" android:layout_width=“match_parent” android:layout_height=“wrap_content” android:minHeight=“64dp”> <!—— content ——> </RelativeLayout> <resources>
<style name=“MyTheme” parent=“Theme.Light”> <item name=“android:listPreferredItemHeight”>64dp</item> </style> </resources>
Your own “?”
<resources> <attr name=“my_custom_attribute” format=“reference”/> </resources>
<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android" android:layout_width=“match_parent” android:layout_height=“wrap_content” android:minHeight=“?attr/my_custom_attribute”> <!—— content ——> </RelativeLayout>
<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android" android:layout_width=“match_parent” android:layout_height=“wrap_content” android:minHeight=“?attr/my_custom_attribute”> <!—— content ——> </RelativeLayout> <resources>
<style name=“MyTheme” parent=“Theme.Light”> <item name=“my_custom_attribute”>64dp</item> </style> </resources>
<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android" android:layout_width=“match_parent” android:layout_height=“wrap_content” android:minHeight=“?attr/my_custom_attribute”> <!—— content ——> </RelativeLayout> <resources>
<style name=“MyTheme” parent=“Theme.Light”> <item name=“my_custom_attribute”>64dp</item> </style> </resources>
<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android" android:layout_width=“match_parent” android:layout_height=“wrap_content” android:minHeight=“64dp”> <!—— content ——> </RelativeLayout> <resources>
<style name=“MyTheme” parent=“Theme.Light”> <item name=“my_custom_attribute”>64dp</item> </style> </resources>
Abstract Theme Using style attributes reference. ✓ Reduce costs to
change styles ✓ Reusable styling
themes_holo.xml <resources> <style name=“Theme.Holo”> <—— … ——> <item name="colorPrimary">@color/holo_primary</item> <item
name=“colorEdgeEffect”>?attr/colorPrimary</item> <—— … ——> </style> </resources>
themes_holo.xml <resources> <style name=“Theme.Holo.Light” parent=“Theme.Light”> <—— … ——> <item name="colorPrimary">@color/holo_light_primary</item>
<—— … ——> </style> </resources>
themes_holo.xml <resources> <style name=“Theme.Holo.Light” parent=“Theme.Light”> <—— … ——> <item name="colorPrimary">@color/holo_light_primary</item>
<—— … ——> </style> <style name=“Theme.Holo.Light.DarkActionBar"> </style> </resources>
–Ryan Brush “Code is design”
? @KeithYokoma - Drivemode, Inc. potatotips #14