Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
?
Keishin Yokomaku
February 18, 2015
Technology
2
330
?
Keishin Yokomaku
February 18, 2015
Tweet
Share
More Decks by Keishin Yokomaku
See All by Keishin Yokomaku
keithyokoma
2
3k
keithyokoma
0
1.3k
keithyokoma
0
280
keithyokoma
3
280
keithyokoma
1
69
keithyokoma
1
1.5k
keithyokoma
0
100
keithyokoma
0
440
keithyokoma
4
230
Other Decks in Technology
See All in Technology
lmi
5
3.2k
kateinoigakukun
0
120
gunnargrosch
0
200
chipstar_light
0
460
tatsy
2
400
quickxp5
0
100
lain21
12
5.1k
ihcomega56
2
140
aamine
4
810
am7cinnamon
1
280
hmatsu47
2
130
ihcomega56
2
670
Featured
See All Featured
colly
188
14k
shpigford
165
19k
swwweet
206
6.9k
jnunemaker
PRO
40
4.7k
brianwarren
82
4.8k
lara
590
61k
notwaldorf
19
2.1k
frogandcode
128
20k
jcasabona
8
590
cassininazir
347
20k
sugarenia
233
880k
myddelton
109
11k
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