Sberbank Androidã¢ããªã±ãŒã·ã§ã³ã®éçºããŒã ã«çºèšæš©ãäžããã¢ãã€ã«ãã³ã¯ã¯ã©ã€ã¢ã³ãã®UIã®ãããªè€éãªãã®ãäœæããçµéšã«ã€ããŠçŽæ¥èããŠããã ããããã«ããŸãã æçš¿ã®ã»ãšãã©ã¯freeuserã«ãã£ãŠæžãããã®ã§ ã圌ã«æè¬ããŸãã ;ïŒ
èæ¯
Material Designã«åºã¥ãAndroid 5ã¯ã1幎åã®éãŠãŒã¶ãŒã«æäŸãããŠããŸãã 18ãæã¯ããªãã®æéã§ããããŠãŒã¶ãŒãšéçºè ã®äž¡æ¹ãGoogleããã®æ å ±ãæ瀺ããããã®èŠèŠèšèªã®å²åŠã奜ãã ãšèªä¿¡ãæã£ãŠèšãããšãã§ããŸãã
æ¬æ¥ã¯ãæ¡åŒµããã³éçºããŒã ã§AndroidçšSberbankãªã³ã©ã€ã³ã¢ããªã±ãŒã·ã§ã³ãããããªã¢ã«ãã¶ã€ã³ãžã®ç§»è¡ããã»ã¹ãã©ã®ããã«é²è¡ãããã説æããé¢é£ããæè¡çåŽé¢ã匷調ããŸãã ã€ã³ã¿ãŒãã§ã€ã¹ãçŽæ¥äœæããããã»ã¹ã«ã€ããŠã¯ã次ã®èšäºã§è©³ãã説æããŸãã
åé¡ã®å£°æ
ç§ãã¡ã®äž»ãªã¿ã¹ã¯ã¯ã䜿ãããã䟿å©ã§ç解ããããã¢ããªã±ãŒã·ã§ã³ãäœæããããšã§ãã åæã«ããããªã¢ã«ãã¶ã€ã³ãžã®ç§»è¡ã«ãããéçºããã»ã¹ã®è³ªçæ¹åãå¯èœã«ãªããŸãã ã€ãŸããããã°ã©ããŒãšãã¶ã€ããŒã¯ãããã»ã¹ãã«æ°ãåããããçµæã«æ°ãåãããŸãã
Googleãéçºããåäžã®èŠèŠèšèªã«ãããäœããã¹ããã«ã€ããŠèããããšãå°ãªããªãããã®æ¹æ³ã®åé¡ã«éäžããããšãã§ããŸããã ãããŠã以åã®è©Šã¿ïŒHoloïŒãiOSãšã®ã€ã³ã¿ãŒãã§ãŒã¹ã®ãã¬ãŒã¹ãèªè»¢è»ã®çºæãæ¢ããªãã£ãå Žåãæ°ããã·ã¹ãã ïŒMDïŒã¯ãã¶ã€ã³ã®åã³ãã»ãŒå®å šã«ã殺ãããŸããã ã¢ããªã±ãŒã·ã§ã³ã¯éå±ã§ãå調ã§ããªããªããŸããããããåäžã«ãªããŸãããMDã¯ããŠãŒã¶ãŒãšéçºè ã®äž¡æ¹ã«ãšã£ãŠäŸ¿å©ãªã€ã³ã¿ãŒãã§ã€ã¹ã®é£ç¶æ§ãç¶æããªãããèŠèŠèšèªã®å©çšå¯èœãªããŒã«ãšæ©èœã極ããŠèªç±ã«äœ¿çšã§ããŸãã ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ãåãããã«æ©èœãããããã®ããŸããŸãªã€ã³ã¿ãŒãã§ã€ã¹èŠçŽ ãåãããã«æ©èœããå Žåãæ°ããã¢ããªã±ãŒã·ã§ã³ã«æ £ããå¿ èŠã¯ãããŸããã åã£ãŠäœ¿çšããŸãã
ã·ã³ãã«ãã䜿ãããããå¹çæ§ã¯ãæ°ããã¢ããªã±ãŒã·ã§ã³ã«åãçµãéã«ç§ãã¡ãå§ããéèŠãªæŠå¿µã§ãã
æ¢åã®åé¡
éçºã«é¢ããäžè¬çãªåé¡ã¯ã»ãšãã©åãã§ãïŒ
- ããã°ã©ãã¯åžžã«ã¬ã€ã¢ãŠãã«æ³šæãæã£ãŠããŸããã
- ãã¶ã€ããŒã¯ãããã°ã©ããŒã«ãšã£ãŠç¹å®ã®ã¬ã€ã¢ãŠãã®å®è£
ãããã«é¢åããååã«èªèããŠããŸããã
- 1ã€ã®ã¬ã€ã¢ãŠãïŒã¬ã€ã¢ãŠãïŒã®å€æŽã¯ãä»ã®ã¬ã€ã¢ãŠãã«ãã£ãŠèªåçã«ã¹ã±ãŒãªã³ã°ãããŸããã
ãããã®ãäžè¬çãªãåé¡ã®æ ¹æ¬ã«ããã®ã¯ãéåžžã«å ·äœçãªäžå¹žã§ãããæ®å¿µãªãã解決ããã®ã¯éåžžã«å°é£ã§ãã ãã¶ã€ããŒãšããã°ã©ããŒã¯ããããã®èšèªã話ãããäºããç解ããŠããŸããã 誀解ãšã¯äœã§ããïŒ
- ããã°ã©ããŒã¯ããã¶ã€ããŒã®æèãã·ãã¥ã¬ãŒãããããšã¯ã§ããŸããããã®ãããã¬ã€ã¢ãŠãã®æåããäœããã¹ããã確ç«ã§ããŸããã
- èšèšè
ã¯ãã¹ã±ãŒã©ãã«ã§ã¬ã€ã¢ãŠãã«æ£ç¢ºã«å¯Ÿå¿ã§ããããã«ããããã«ãããã°ã©ãã«ã©ã®ãããªæ
å ±ãæäŸãã¹ãããç¥ããŸããã
å žåçãªã¯ãŒã¯ãããŒã®ç¹å¥ãªã±ãŒã¹ãèããŠã¿ãŸãããïŒ
ã¢ããªã±ãŒã·ã§ã³ç»é¢ã®ã¬ã€ã¢ãŠãã§ããã¶ã€ããŒã¯ããã¹ãã®ãµã€ãºãšè²ãèŠçŽ ã®å¹ ãšé«ãã«æ³šæããå¿ èŠããããŸãã ã³ãã¥ãã±ãŒã·ã§ã³ããŒãã§ããããïŒçµæãšããŠããäºãã®ããŒãºãšèœåããŒãã§ç解ã§ããïŒãã¿ã¹ã¯ã¯çã£å ã«è§£æ±ºãããŸããå€ã¯ã¢ãã¯ã¢ããã«çŽæ¥çž«ãä»ããããŸã-ãµã€ãºãè²ã
ããã«ãã¬ã€ã¢ãŠãèšèšè ã¯ãå€ãããŒã¯ã¢ããã«ããŒãããã¯ããããæ°ãããªãœãŒã¹ïŒãµã€ãºãè²ïŒãéå§ããããæ¢åã®ãªãœãŒã¹ãå€ã§æ€çŽ¢ããããšããŸãã
ããŒã¯ã¢ãããžã®å€ã®ãªãžããã¹ãããã³ã°ãŸãã¯ãªãœãŒã¹ã®äœç³»åãããŠããªã確ç«ã¯ãåãå€ãåå©çšã§ããªãããšã䌎ããŸããDRYååã«éåããäžè¬ã«ãã¶ã€ã³ãšãã®ã¹ã¿ã€ã«ãåé¢ããè«çãã®ãã®ã§ãã ãã®ãããªã¢ããªã±ãŒã·ã§ã³ã§ã®äœæ¥ã¯ãã¹ã¿ã€ã«å€ã®ååãdivå ã§çŽæ¥ç€ºãããWebããŒãžãšåããããã楜ããããã®ã§ãã
æ å ±ã»ã«ã®ããã¹ãã®è²ãå€æŽããå¿ èŠãããå Žåã¯ãåããŒã¯ã¢ãããå®è¡ããå¿ èŠããããŸãïŒãã®å Žåããã¡ã€ã«ãã¹ãããããå¯èœæ§ã¯ãŒãã§ã¯ãããŸããïŒã ãäžè²«ããŠè€æ°ã®è²/ã€ã³ãã³ãããã§ãã¯ãããå®éšäžã«ãæäœã®ã³ã¹ããäœåºŠãå¢å ããŸãã
æåŸã«ãäœç³»çã«ãªãœãŒã¹ã®ãšã€ãªã¢ã¹ãéãããŠããªãå Žåããããããã®ååã¯æ°ããç»é¢ãšã¯ç¡é¢ä¿ã§ãããããã°ã©ãã¯å®æãããªãœãŒã¹ã䜿çšãã代ããã«æ°ãããšã³ãã£ãã£ãäœæããŸãã
ãã®æ··ä¹±ããã¹ãŠåé¿ããã«ã¯ãäœæ¥ããŒã ã«å¥å šãªé°å²æ°ã確ç«ããå¿ èŠããããŸãã
- ããã°ã©ããŒãšãã¶ã€ããŒã®éã®ã³ãã¥ãã±ãŒã·ã§ã³ã確ç«ããå¿
èŠããããŸãããäºãã®ããŒãºãšèœåãç解ããåãå
¥ããªããã°ãªããŸããã
- ã¢ããªã±ãŒã·ã§ã³ã®ãŠãããŒãµã«ã§ã¹ã±ãŒã©ãã«ãªã¬ã€ã¢ãŠããæ§ç¯ããããã«å¿
èŠãªããŒã¿ã®ãªã¹ãã¯æ確ã«ä¿®æ£ããå¿
èŠããããŸãããããã£ãŠãããã°ã©ããŒã¯å¿
èŠãªãã¹ãŠã®å€ãååŸãããã¶ã€ããŒã¯æ°ããç»é¢ãæ§ç¯ãããšãã«æ¢åã®å€ãæ§ç¯ã§ããŸãã
æ£ããæ¹æ³ã§è¡ã
ããã°ã©ããŒãšãã¶ã€ããŒã®éã®ã³ãã¥ãã±ãŒã·ã§ã³ãæ§ç¯ããäžçš®ã®ãæåã®æ©ãã¯ã Google Material Guidelinesã§ããã ã¬ã€ãã©ã€ã³ã¯ããã¶ã€ããŒã®åµé çãªæèã劚ããªãã»ã©æè»ã§ãããšåæã«ãããã°ã©ããŒã«ããã¢ããªã³ã°ã«äŸ¿å©ãªãã¿ãŒã³ã決å®ããŸãã
OS Androidã®ã¹ã±ãŒã©ãã«ã¬ã€ã¢ãŠãã«ã¯ãã¹ã¿ã€ã«ãªã©ã®ããŒã«ã䜿çšãããŸãã ã¹ã¿ã€ã«ã¯ãå±æ§ãšå€ã®ãã¢ã®ã»ããã§ãã å±æ§å€ã«ã¯ãè²ãColorStateListãDrawableãããã¹ãããµã€ãºãããã³ãã®ä»ã®ã¹ã¿ã€ã«ãæå®ã§ããŸãã
ææ°ã®ãã©ãããã©ãŒã ãšAppCompatã©ã€ãã©ãªã®ãªãœãŒã¹ã調ã¹ããšãã¹ã¿ã€ã«ã次ã®ã°ã«ãŒãã«åé¡ãããŠããããšããããŸãã
- TextAppearance-ããã¹ããã£ãŒã«ãã®å€èŠ³ã ããã¹ããšãªã³ã¯ã®è²ãããã¹ããã£ãŒã«ãã®ããŒã«ããããéžæããããã¹ãã®èæ¯ããã©ã³ãã¹ã¿ã€ã«ãšæžäœã決å®ããŸãã
- ãŠã£ãžã§ããã¹ã¿ã€ã«-ãã¥ãŒã¹ã¿ã€ã«ã ç¹å®ã®ãŠã£ãžã§ããã«åºæã®å±æ§ïŒProgressBarã®progressDrawableãªã©ïŒãå®çŸ©ããŸããTextViewã®ãŠã£ãžã§ããã¹ã¿ã€ã«ãšãã®åå«ã¯ã䜿çšãããTextAppearanceã瀺ãããšãã§ããŸãã
- ããŒããããŒãã§ãã ããŒãã¯äžçš®ã®ãã¹ã¿ã€ã«ã®ã¹ã¿ã€ã«ãã掻å䞻矩ã®ã¹ã¿ã€ã«ã§ãã ãã®ç»é¢ã«åºæã®äž»èŠãªå±æ§ããŠã£ãžã§ããã¹ã¿ã€ã«ãå®çŸ©ããŸãã ããŒããé©åã«æ§æããŠãã¬ã€ã¢ãŠãå
ã®ãŠã£ãžã§ããã®è²ãšã¹ã¿ã€ã«ãžã®çŽæ¥ãªã³ã¯ãåé¿ããã¢ããªã±ãŒã·ã§ã³å
ã®ãã¥ãŒã®å€èŠ³ãçµ±äžããŸãã
- ThemeOverlay-ãŠã£ãžã§ããã®ã¹ã¿ã€ã«ãšããŒãã®äžéã®äœçœ®ãå ããŸãã éåžžã®ãŠã£ãžã§ããã¹ã¿ã€ã«ã1ã€ã®ãã¥ãŒã®ã¿ã«é©çšãããå ŽåãããŒãã¯ç»é¢å
ã®ãã¹ãŠã®ãã¥ãŒã«é©çšãããThemeOverlayã¯ããŒã¯ã¢ããå
ã®ç¹å®ã®ã³ã³ãããŒïŒViewGroupïŒã«é
眮ãããŸãã å°æ¥çã«ã¯ãæ£ç¢ºã«ã©ãã§ã©ã®ããã«äœ¿çšããããã瀺ããŸãã
ãã®å Žåãéåžžæ§ç¯ãããã¯ãŒã¯ãããŒã¯æ¬¡ã®ããã«ãªããŸãã
- Googleãããªã¢ã«ã¬ã€ãã©ã€ã³ã«åºã¥ããããã°ã©ããŒãšãã¶ã€ããŒã¯ãåäžã®ãªãœãŒã¹ããŒãã«ãäœæããŸãïŒèšäºã®åŸåã§èª¬æããŸãïŒã
- åãªãœãŒã¹ïŒãµã€ãºãã¹ã¿ã€ã«ãè²ïŒã«ã¯ãšã€ãªã¢ã¹ãå²ãåœãŠãããŸãã
- ã¬ã€ã¢ãŠãã®ãã¶ã€ããŒã¯ããšã€ãªã¢ã¹ãæ£ç¢ºã«ç€ºããŸãã ãã®ãšã€ãªã¢ã¹ã«ãã£ãŠãããã°ã©ãã¯ãªãœãŒã¹ïŒãµã€ãºãã¹ã¿ã€ã«ïŒãèŠã€ããããŒã¯ã¢ããã§ããã瀺ããŸãã
ã¹ã¿ã€ã«ã®ããããã£
ã¹ã¿ã€ã«ã®èšå®ã«åããããåã«ããã®ããŒã«ã®ããããã£ã詳ããèŠãŠã¿ãŸããããæ倧éã®å¹çã§ãã®ããŒã«ã掻çšã§ããŸãã
ã¹ã¿ã€ã«ã®ç¶æ¿
ã¹ã¿ã€ã«ã¯ã2ã€ã®æ¹æ³ã§çžäºã«ç¶æ¿ã§ããŸãã ãããæåã®ãã®ã§ãïŒ
<style name="Theme"> <item name="android:isLightTheme">false</item> <item name="android:colorBackground">@color/bright_foreground_dark</item> </style> <style name="Theme.Material"> <item name="android:colorBackground">@color/foreground_material_dark</item> </style>
Theme.Materialã¯ã芪ããŒãããŒãããisLightThemeå±æ§ã®å€ãç¶æ¿ããcolorBackgroundå€ããªãŒããŒã©ã€ãããŸãã
2çªç®ã®æ¹æ³ã¯ã芪ãæ瀺çã«æå®ããããšã§ãã
<style name="Theme.Material"> <item name="android:isLightTheme">false</item> </style> <style name="Theme.AppCompat.Light.NoActionBar"> <item name="android:isLightTheme">true</item> </style> <style name="Theme.Material.Sbrf" parent="Theme.AppCompat.Light.NoActionBar"> </style>
ãã®å ŽåãTheme.Material.Sbrfã¯ãTheme.AppCompat.Light.NoActionBarã®isLightThemeå±æ§ã®å€ãç¶æ¿ããŸãã
å±æ§å€ã®åç §
äœã¬ãã«ã®ã¹ã¿ã€ã«ïŒTextAppearanceããã³Widgetã¹ã¿ã€ã«ïŒã¯ãããŒãã§èšå®ãããå±æ§ã®å€ãåç §ã§ããŸãã
ã¢ããªã±ãŒã·ã§ã³ã«ã¯ãèµ€ãšé»è²ã®2ã€ã®ããŒãããããšããŸãã é»è²ã®ããŒãã®ç»é¢ã§ã¯ãäžéšã®TextAppearanceãTextViewãé»è²ã®èæ¯ã«èšå®ããèµ€è²ã®ããŒãã®ç»é¢-èµ€ãèæ¯ã«èšå®ããå¿ èŠããããŸãã
<style name="TextAppearance.Example" parent="TextAppearance.AppCompat.Title"> <item name="android:textColor">?attr/colorPrimary</item> </style> <style name="Theme.Example" parent="Theme.AppCompat.Light.NoActionBar"> </style> <style name="Theme.Example.Red"> <item name="colorPrimary">@color/color_primary_red</item> <item name="colorPrimaryDark">@color/color_primary_red_dark</item> </style> <style name="Theme.Example.Yellow"> <item name="colorPrimary">@color/color_primary_yellow</item> <item name="colorPrimaryDark">@color/color_primary_yellow_dark</item> </style>
TextAppearance.Exampleã«TextViewãé 眮ãããŸãã
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:textAppearance="@style/TextAppearance.Example" android:text="Test Text"/>
次ã«ããã®ãŠã£ãžã§ããã«TextAppearanceãé©çšãããšãAndroidã¯textColorå€ã®ä»£ããã«ããã®ãããã¯ã§èŠå®ãããŠããcolorPrimaryå€ããã®ãŸãŸäœ¿çšããŸãã
ã¹ã¿ã€ã«ãšããŒããã«ã¹ã¿ãã€ãºãã
äž»ãªã¢ããªã±ãŒã·ã§ã³ã®è²
ã¢ããªã±ãŒã·ã§ã³ã®åè²ã瀺ãå±æ§ãæ€èšããŠãã ããã
å±æ§
| äºå®
|
ã«ã©ãŒãã©ã€ããª
| ã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³è²ã éåžžãAppBarã«ãã€ã³ããããŸã
|
colorPrimaryDark
| ã¡ã€ã³ã«ã©ãŒã®æãããŒãžã§ã³-ã¹ããŒã¿ã¹ããŒã«äœ¿çš
|
ã«ã©ãŒã¢ã¯ã»ã³ã
| ã¢ã¯ã»ã³ãã«ã©ãŒã¢ããªã±ãŒã·ã§ã³ã ãã¿ã³ãSeekBarãProgressBarã«éæ¥çã«äœ¿çšãããŸã
|
androidïŒcolorBackground
| èæ¯ã®ããã©ã«ãè²
|
androidïŒcolorForeground
| äºæ¬¡èæ¯è²ã®å察
|
androidïŒcolorForegroundInverse
| äºæ¬¡èæ¯è²
|
æ°Žå¹³ã®
| æ°Žå¹³åå²è²
|
瞊å
| åçŽåå²ç·ã®è²
|
Sberbankã«ã¯ãã©ã³ãæ¬ããããããã«å¿ããŠãå°å·ç©ããªã³ã©ã€ã³åºåããŠã§ããµã€ããååºãããã±ãŒãžãªã©ããã¹ãŠãäœæããå¿ èŠããããŸãã å ¬åŒã®è²ã¯èŠå¶ãããŠããããæãè¿ãé¡äŒŒç©ããèŠå¶ãããŠããŸãã ãã©ã³ãããã¯ã«åŸã£ãŠãã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³ã«ã©ãŒïŒcolorPrimaryïŒã¯ç·ã«ãªããã¢ã¯ã»ã³ãïŒcolorAccentïŒ-ãªã¬ã³ãžã«ãªããŸããã ããã«ãcolorPrimaryã¯è¯å®çãªã¢ã¯ã·ã§ã³ïŒç¢ºèªãè³Œå ¥ïŒãæããcolorAccentã¯ååãšããŠåŠå®çãªã¢ã¯ã·ã§ã³ïŒãã£ã³ã»ã«ïŒãæããŸãã
TextViewã®ã¹ã¿ã€ã«èšå®
AppCompatã©ã€ãã©ãªãæäŸããããã¹ãã®è²ãæ±ããšãã§ãã åèš2ã€ã®ããŒãïŒæè²ãšæè²ïŒããããããããã«æšæºãšå転ã®2ã€ã®è²ã®ã°ã«ãŒãããããŸãã æãããŒãïŒTheme.AppCompatã®çžç¶äººïŒã®å Žåãæããè²åããæšæºã®æãè²åãã«ãªããŸãã ã©ã€ãããŒãïŒTheme.AppCompatããå€ãç¶æ¿ããïŒã®å Žåãããããå察ã®ããšãåœãŠã¯ãŸããŸãã
ã©ã€ãã©ãªã«ãã£ãŠèšå®ãããè²ã«ã¯ãç¬èªã®ãååããšæ©èœçãªç®çããããŸãã
- textColorPrimaryã¯ãè²ã®æãããžã¥ãŒã·ãŒãªã圢åŒã§ãã
- textColorSecondaryã¯ãå°ãèãè²ã®åœ¢åŒã§ãã
- textColorTertiaryã¯ããã«èã圢åŒã§ãã
- textColorHint-EditTextã®ããŒã«ãããã®è²ã
- textColorLink-ãªã³ã¯ã®è²ã
- textColorHighlight-éžæããããã¹ãã®èæ¯è²ã
- textColorPrimaryActivated-éåžžã®ç¶æ
ãtextColorPrimaryãšåããã¢ã¯ãã£ããªç¶æ
-textColorPrimaryInverse
- textColorSecondaryActivated-textColorPrimaryActivatedã«äŒŒãŠããŸããã2次è²ã®ã¿ããããŸãã
ããã«ãtextColorPrimaryDisableOnlyïŒCompoundButtonã®ããã¹ãã«äœ¿çšãããã©ãžãªãã¿ã³ããã§ãã¯ããã¯ã¹ïŒããŸãã¯textColorPrimaryNoDisableãtextColorSecondaryDisableOnlyãtextColorSecondaryNoDisableãæåŸã®3ã€ã®ã¹ã¿ã€ã«ã®æ€åºã«å€±æãããããªãæ°å³æªããååã®è²ããããŸãã
ã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããè²ã®ããŒãã«ãã³ã³ãã€ã«ããŸããã åå±æ§ã«ColorStateListå€ïŒå©çšå¯èœãªèŠçŽ ãšã¢ã¯ã»ã¹ã§ããªãèŠçŽ ã®è²ã®ãã¢ïŒãå²ãåœãŠãŸãã
å±æ§
| éåžžã®è²
| ã¢ã¯ã»ã¹ã§ããªãç¶æ
ã®è²ïŒç¡å¹ãªèŠçŽ ïŒ
|
textColorPrimary
| ïŒE6000000ïŒ90ïŒ
é»ïŒ
| ïŒ44000000ïŒ26ïŒ
é»ïŒ
|
textColorSecondary
| ïŒCC000000ïŒ80ïŒ
é»ïŒ
| ïŒ44000000ïŒ26ïŒ
é»ïŒ
|
textColorTertiary
| ïŒ88000000ïŒ53ïŒ
é»ïŒ
| ïŒ44000000ïŒ26ïŒ
é»ïŒ
|
textColorHint
| ïŒ61000000ïŒ38ïŒ
é»ïŒ
| ïŒ19000000ïŒ10ïŒ
é»ïŒ
|
textColorPrimaryInverse
| #FFFFFFFFïŒ100ïŒ
ãã¯ã€ãïŒ
| ïŒ44FFFFFFïŒ26ïŒ
ãã¯ã€ãïŒ
|
textColorSecondaryInverse
| ïŒE8FFFFFFïŒ91ïŒ
ãã¯ã€ãïŒ
| ïŒ44FFFFFFïŒ26ïŒ
ãã¯ã€ãïŒ
|
textColorTertiaryInverse
| ïŒ96FFFFFFïŒ59ïŒ
ãã¯ã€ãïŒ
| ïŒ44FFFFFFïŒ26ïŒ
ãã¯ã€ãïŒ
|
textColorHintInverse
| ïŒ61FFFFFFïŒ38ïŒ
ãã¯ã€ãïŒ
| ïŒ19FFFFFFïŒ10ïŒ
ãã¯ã€ãïŒ
|
ããã¹ãæ å ±ãèŠèŠçã«è¡šç€ºããããã«ãAppCompatã¯è²ã ãã§ãªãããã©ã³ããµã€ãºãšã¹ã¿ã€ã«ã§ãæ©èœããŸãã ãã®ãã©ã¡ãŒã¿ãŒã®ã»ããã¯ãTextAppearanceãšåŒã°ããŸãã
圹è·
| ããã¹ãã®è²
| ãã©ã³ããµã€ãº
| æžäœ
|
ãã£ãã·ã§ã³
| äºæ¬¡
| 12sp
| ã¬ã®ã¥ã©ãŒ
|
Body1
| äžæ¬¡
| 14sp
| ã¬ã®ã¥ã©ãŒ
|
Body2
| äžæ¬¡
| 14sp
| äž
|
ãã¿ã³
| äžæ¬¡
| 14sp
| äž
|
å°èŠåºã
| äžæ¬¡
| 16sp
| ã¬ã®ã¥ã©ãŒ
|
ã¡ãã¥ãŒ
| äžæ¬¡
| 16sp
| äž
|
圹è·
| äžæ¬¡
| 20sp
| äž
|
èŠåºã
| äžæ¬¡
| 24sp
| ã¬ã®ã¥ã©ãŒ
|
ãã£ã¹ãã¬ã€1
| äºæ¬¡
| 34sp
| ã¬ã®ã¥ã©ãŒ
|
ãã£ã¹ãã¬ã€2
| äºæ¬¡
| 45sp
| ã¬ã®ã¥ã©ãŒ
|
ãã£ã¹ãã¬ã€3
| äºæ¬¡
| 56sp
| ã¬ã®ã¥ã©ãŒ
|
ãã£ã¹ãã¬ã€4
| äºæ¬¡
| 112sp
| 軜ã
|
ããã¯è¡šã«ã¯ç€ºãããŠããŸããããã¿ã€ãã«ãšã¡ãã¥ãŒã®å転ããããã¹ãã®å€èŠ³ãå®çŸ©ãããŠããŸãã
æŽåœ¢åŒã®ããã¹ãã®å€èŠ³ã®è¯ãäŸã¯ã ãããªã¢ã« ã® Googleãããªã¢ã«ãã¶ã€ã³ ã¬ã€ãã©ã€ã³ã«ãããŸã ã ãããã®ã¹ã¿ã€ã«ãšã¬ã€ãã©ã€ã³ããã®æ å ±ã«åºã¥ããŠãéçºè ã¯ãã¶ã€ããŒãšãšãã«æ¬¡ã®ããã¹ãå€èŠ³ãã¡ããªãäœæããŸããã
圹è·
| ããã¹ãã®è²
| ãã©ã³ããµã€ãº
| æžäœ
|
ãã£ãã·ã§ã³
| äžæ¬¡
| 12sp
| ã¬ã®ã¥ã©ãŒ
|
ãã³ã
| ãã³ã
| 14sp
| ã¬ã®ã¥ã©ãŒ
|
ãµãããããŒ
| äžæ¬¡
| 14sp
| äž
|
ãã¿ã³
| äžæ¬¡
| 14sp
| äž
|
ããã£0
| äžæ¬¡
| 14sp
| ã¬ã®ã¥ã©ãŒ
|
Body1
| äºæ¬¡
| 14sp
| ã¬ã®ã¥ã©ãŒ
|
Body2
| äžæ¬¡
| 16sp
| ã¬ã®ã¥ã©ãŒ
|
Body3
| äºæ¬¡
| 16sp
| äž
|
å
¥å1
| äžæ¬¡
| 20sp
| ã¬ã®ã¥ã©ãŒ
|
å
¥å2
| äžæ¬¡
| 20sp
| ã¬ã®ã¥ã©ãŒ
|
圹è·
| äžæ¬¡
| 20sp
| äž
|
èŠåºã
| äžæ¬¡
| 24sp
| ã¬ã®ã¥ã©ãŒ
|
ãã£ã¹ãã¬ã€1
| äžæ¬¡
| 32sp
| ã¬ã®ã¥ã©ãŒ
|
ãã£ã¹ãã¬ã€2
| äžæ¬¡
| 32sp
| ã¬ã®ã¥ã©ãŒ
|
äžèšã®åTextAppearanceïŒButtonãé€ãïŒãããInverseãPrimaryãããã³Accentããªã¢ã³ããäœæããŸãïŒtextColor * InverseãcolorPrimaryãcolorAccentå±æ§å€ã¯ãããã¹ãã®è²ã«äœ¿çšãããŸãïŒã
ãã¶ã€ããŒãã¬ã€ã¢ãŠããæäŸãããšããããã¹ããã£ãŒã«ãïŒTextViewïŒã®å察åŽã§ã¯ãç¥ç§°ãTitle DefaultããTextAppearance.Material.Sbrf.Titleã«å¯Ÿå¿ãããSubheader InverseããTextAppearance.Material.Sbrf.Subheader.Inverseã«å¯Ÿå¿ããããšã瀺ããŸãã
EditTextã®ã¹ã¿ã€ãªã³ã°
ããã¹ãã®è²ãšãã¶ã€ã³ãå€ããå°ãªããç解ãããã¹ãŠãæŽçããå¿ èŠãããå Žæããã1ã€ãããŸãããEditTextèŠçŽ ãšTextInputLayoutèŠçŽ ã«ã€ããŠã§ãã åé¡ã¯ããããã©ã«ãã®ããŒãããä¹±éã«èŠãã颚氎ã§ãšããå¿ èŠãããããšã§ãã :)
äžæ³šæã®ããã«ãç§ãã¡ã¯èª¬æããïŒ
- EditTextè¡ã¯ãçŠç¹ãåã£ãŠãããå€åœ¢ããç¶æ
ã§ã¯æ·¡ãã¯ãã§ãã
- ãã©ãŒã«ã¹ãããç¶æ
ã®EditTextè¡ã¯ãé»ãªã¬ã³ãžã§ã¯ãªããç·äžè²ïŒcolorPrimaryïŒã§ãªããã°ãªããŸããã
- ãšã©ãŒã¯èµ€ã§ã¯ãªãããªã¬ã³ãžïŒcolorAccentïŒã§åŒ·èª¿è¡šç€ºãããŸã;ã
- EditTextã®ãã©ã³ããµã€ãºã¯å€§ããããå¿
èŠããããŸãã
AppCompatã©ã€ãã©ãªå ã§ãããŒã¯ã¢ãããããã¥ãŒãäœæãããšãã«ãAppCompatActivityãç¹å®ã®ãŠã£ãžã§ãããAppCompatç¶æ¿è ã«çœ®ãæããŠããããšãããããŸããã ããã¯æããã«ãAppCompatããŒãããèæ¯ã®è²ä»ããšãã«ã¹ã¿ã€ã«ããµããŒãããããã«è¡ãããŸãã ç¹ã«ãEditTextã¯AppCompatEditTextã«çœ®ãæããããŸããã ïŒãããã£ãŠãã«ã¹ã¿ã ãŠã£ãžã§ãããå¿ èŠãªå Žåã¯ãEditTextããçŽæ¥ã§ã¯ãªããAppCompatEditTextãããµãã¯ã©ã¹ãäœæããå¿ èŠããããŸãïŒã
AppCompatEditTextã¹ã¿ã€ã«ã¯ãeditTextStyleå±æ§ãä»ããŠããŒãã«èšå®ãããŸãã ããã©ã«ãã®ã¹ã¿ã€ã«ã¯Widget.AppCompat.EditTextã§ãç¹å®ã®TextAppearanceãèæ¯ãããã³ããã¹ãã®è²ãå®çŸ©ããŸãïŒã€ãŸããTextAppearanceã®è²ã¯ç¡èŠãããŸãïŒã
ããŒãžã§ã³5.0ã®EditTextèæ¯ã®ã¬ã€ã¢ãŠããèŠãŠã¿ãŸãããïŒå€ãããŒãžã§ã³ã®å Žåãèæ¯ã¯äžè¬çã«äŒŒãŠããŸããã5.xã®ããã«ã¬ã€ã¢ãŠãèªäœããŸãã¯ä»¥åã®ããŒãžã§ã³ã®ãŠã£ãžã§ããã³ã³ã¹ãã©ã¯ã¿ãŒã§ãè²ä»ããçºçããå¯äžã®éãããããŸãïŒ ïŒ
<inset xmlns:android="http://schemas.android.com/apk/res/android" android:insetLeft="@dimen/edit_text_inset_horizontal_material" android:insetRight="@dimen/edit_text_inset_horizontal_material" android:insetTop="@dimen/edit_text_inset_top_material" android:insetBottom="@dimen/edit_text_inset_bottom_material"> <selector> <item android:state_enabled="false"> <nine-patch android:src="@drawable/textfield_default_mtrl_alpha" android:tint="?attr/colorControlNormal" android:alpha="?attr/disabledAlpha" /> </item> <item android:state_pressed="false" android:state_focused="false"> <nine-patch android:src="@drawable/textfield_default_mtrl_alpha" android:tint="?attr/colorControlNormal" /> </item> <item> <nine-patch android:src="@drawable/textfield_activated_mtrl_alpha" android:tint="?attr/colorControlActivated" /> </item> </selector> </inset>
ãããŠãããã«ãªãœãŒã¹textfield_default_mtrl_alphaãštextfield_activated_mtrl_alphaèªäœããããŸãïŒ
ããŒã¯ã¢ãããããããããã«ã现ãç·ãcolorControlNormalå±æ§ã®å€ã§ããè²ã§è²ä»ããããŠããŸãã ãã®è²ã眮ãæããŸãã
<color name="color_control_normal">#1A000000</color> <style name="Theme.Material.Sbrf" parent="@style/Theme.AppCompat.Light.NoActionBar"> <item name="colorControlNormal">@color/color_control_normal</item> </style>
ColorControlActivatedã¯ããã©ãŒã«ã¹ç¶æ ïŒããã³ã«ãŒãœã«ãšããã¹ãéžæãã³ãã«ã®è²ïŒãæ åœããŸã-ãããå€æŽããŠã¿ãŸããããcolorPrimaryãšåãæå³ãæã¡ãŸãã
<style name="Theme.Material.Sbrf" parent="@style/Theme.AppCompat.Light.NoActionBar"> <item name="colorControlActivated">?attr/colorPrimary</item> </style>
EditTextãã©ã³ããµã€ãº-TextAppearanceã§èšå®ããŸãã
<style name="TextAppearance.Material.Sbrf.EditText" parent="@style/TextAppearance.Material.Sbrf.Input1"> </style> <style name="Widget.Material.Sbrf.EditText" parent="@style/Widget.AppCompat.EditText"> <item name="android:textAppearance">@style/TextAppearance.Material.Sbrf.EditText</item> </style> <style name="Theme.Material.Sbrf" parent="@style/Theme.AppCompat.Light.NoActionBar"> <item name="editTextStyle">@style/Widget.Material.Sbrf.EditText</item> </style>
çµæïŒ
EditTextã®ã¹ã¿ã€ãªã³ã°ãå®äºããŸããã TextInputLayoutã®æéã§ãã ããã©ã«ãã§ã¯ãWidget.Design.TextInputLayoutã¹ã¿ã€ã«ãããèªäœã«é©çšãããããã次ã®å±æ§ãæœåºããŸãã
- hintTextAppearance-ãã©ãŒã«ã¹ãããç¶æ
ã®ãããŒãã£ã³ã°ã©ãã«ïŒç»é¢äžã§ã¯ããã³ãããšããèšèã衚瀺ãããŸãïŒã®TextAppearanceã
- androidïŒtextColorHint-ãã©ãŒã«ã¹ãããŠããªãç¶æ
ã®ãããŒãã£ã³ã°ã©ãã«ã®è²ãEditTextã®ããŒã«ãããã®è²ã TextInputLayoutã®å±æ§å€ãæå®ãããŠããªãå ŽåãEditTextã®åãå±æ§ã®å€ãååŸãããŸãã
- androidïŒhint-ãããŒãã£ã³ã°ã©ãã«ã®å®éã®ããã¹ãã¯ãEditTextèªäœã®ãã«ãããªãŒããŒããŒãããŸãã
- hintAnimationEnabled-ããã³ãããEditTextãããããŒãã£ã³ã°ã©ãã«ã«ãåãæ¿ããããšãã«ã¢ãã¡ãŒã·ã§ã³ã䜿çšãããã©ããã
- errorTextAppearance-ãšã©ãŒã®ããã©ãã«ã®TextAppearanceã ãã®å ŽåãEditTextè¡ã¯æ·¡è²è¡šç€ºãããŸãã
- errorEnabled-TextInputLayoutã®ã¬ã³ããªã³ã°æã«ãšã©ãŒã®ããã©ãã«ã®äžã«å Žæãæç»ãããã©ããã
- counterTextAppearance-ããã¹ãé·ã«ãŠã³ã¿ãŒã®TextAppearanceã
- counterEnabled-TextInputLayoutãã¬ã³ããªã³ã°ãããšãã«ããã¹ãé·ã«ãŠã³ã¿ãŒãã¬ã³ããªã³ã°ãããã©ããã
- counterMaxLength-æ倧蚱容ããã¹ãé·ã
- counterOverflowTextAppearance-ããã¹ããšã©ãŒã€ã³ãžã±ãŒã¿ãŒã®é·ããè¶
ããã€ã³ãžã±ãŒã¿ãŒã®TextAppearanceã
è£å©TextViewã®TextAppearanceããããã£ã®ããŒãã«ãäœæããŸãããã ãããã¯ãã¹ãŠTextAppearance.AppCompat.CaptionïŒtextColorSecondaryã12spãã¬ã®ã¥ã©ãŒïŒãç¶æ¿ããè²ã®ã¿ãå€æŽãããŸãã
圹è·
| ããã¹ãã®è²
|
TextAppearance.Design.Hint
| ïŒattr / colorControlActivated
|
TextAppearance.Design.Error
| ïŒFFDD2C00
|
TextAppearance.Design.Counter
| ïŒattr / colorControlActivated
|
TextAppearance.Design.Counter.Overflow
| ïŒFFDD2C00
|
ãã®åŸããã¹ãŠãç°¡åã§ããããã¹ãã®è²ãcolorAccentã«çœ®ãæããŸãã
<style name="TextAppearance.Material.Sbrf.Error" parent="@style/TextAppearance.Material.Sbrf.Caption"> <item name="android:textColor">?attr/colorAccent</item> </style>
ãã®TextAppearanceãTextInputLayoutã¹ã¿ã€ã«ã«é©çšããŸãã
<style name="Widget.Material.Sbrf.TextInputLayout" parent="@style/Widget.Design.TextInputLayout"> <item name="errorTextAppearance">@style/TextAppearance.Material.Sbrf.Error</item> </style>
æ°ããäœæããã¹ã¿ã€ã«ãããŒã¯ã¢ããã®TextInputLayoutã«é©çšããŸãã ååŸãããã®ã¯æ¬¡ã®ãšããã§ãã
æåŸã«ãéèŠãªæ¹åãè¡ããŸãã éåžžãåãŠã£ãžã§ããã«ã¯ããŒãå ã«å±æ§ãããããã®ã³ã³ã¹ãã©ã¯ã¿ãŒã«åŸã£ãŠãããŒãã«é¢é£ããã¹ã¿ã€ã«ãåãããšãã§ããŸãã TextInputLayoutïŒDesignã©ã€ãã©ãªã®ä»ã®ãŠã£ãžã§ãããšåæ§ïŒã«ã¯ãããŒãã«ãã®ãããªå±æ§ã¯ãããŸããã ã¢ããªã±ãŒã·ã§ã³åŽã§çŽ¹ä»ããŸãïŒ
<declare-styleable name="Theme.Material.Sbrf"> <attr name="textInputLayoutStyle" format="reference"/> </declare-styleable>
ãããã¯ã«çŽ¹ä»ããŸãããïŒ
<style name="Theme.Material.Sbrf" parent="@style/Theme.AppCompat.Light.NoActionBar"> <item name="textInputLayoutStyle">@style/Widget.Material.Sbrf.TextInputLayout</item> </style>
ããã§ããã®å±æ§ã䜿çšããŠããŒã¯ã¢ããã§ãŠã£ãžã§ããã¹ã¿ã€ã«ãååŸã§ããŸãã
<android.support.design.widget.TextInputLayout style="?attr/textInputLayoutStyle" android:layout_width="match_parent" android:layout_height="wrap_content">
AppBarã®ã¹ã¿ã€ã«èšå®
ããã¹ããã£ãŒã«ãããã©ã³ããè²ã§ç®¡çããŸããã æŽçããå¿ èŠãããéèŠãªèŠçŽ ããŸã 2ã€ãããŸãïŒAppBarãšToolbarã§ãã å žåçãªã¢ã¯ãã£ããã£ã§ã¯ããããªã¢ã«ãã¶ã€ã³ã䜿çšããå Žåããããããã«ã®ã¹ã¿ã€ã«ã¯ã¢ã¯ãã£ããã£ã®ã³ã³ãã³ããšã¯ç°ãªããŸããã€ãŸããèæ¯ãããã¹ãã®è²ãç°ãªããŸãã Googleã¯ããã®ããã«actionBarThemeå±æ§ã䜿çšããããšãæåŸ ããŠããŸãã 圌ãšäžç·ã«åããŸãã
actionBarThemeå±æ§ã¯ãåã ã®ViewGroupããã®åããã®åãªã©ã«é©çšãããäžçš®ã®ããããŒãã§ããThemeOverlayãåç §ããŸãã ThemeOverlayãé©çšãããšãã¢ã¯ãã£ããã£ããŒãã®åãããŒãå±æ§ãæ°ããå€ãååŸããŸãã ããæ確ã«ããããã«ã3ã€ã®ã¹ã¯ãªãŒã³ã·ã§ãããæ€èšããŸãïŒæåã¯ã¹ã¿ã€ã«ãThemeOverlayãäžéšã®ããŒãšãŠã£ãžã§ããã«é©çšãããã2çªç®ã¯ç·è²ã®ã¹ã¿ã€ã«ãšThemeOverlayãçœãããã¹ãã§äœ¿çšãã3çªç®-çœãã¹ã¿ã€ã«ãšThemeOverlayãç·è²ã®ããã¹ãã䜿çšããŸãã
AppBarLayoutã®èæ¯è²ã ãã¶ã€ã³ã©ã€ãã©ãªã®ãªãœãŒã¹ã¯ããã®ãŠã£ãžã§ããã®èæ¯ãã¢ããªã±ãŒã·ã§ã³ã®ãã©ã€ããªã«ã©ãŒïŒcolorPrimaryïŒã§ãã€ã³ããããŠããããšã瀺ããŠããŸãã AppBarLayoutã®ã¹ã¿ã€ã«ãäœæããŸãã
<style name="Widget.Material.Sbrf.AppBarLayout" parent="@style/Widget.Design.AppBarLayout"> </style> <style name="Widget.Material.Sbrf.AppBarLayout.Colored"> </style> <style name="Widget.Material.Sbrf.AppBarLayout.White"> <item name="android:background">?android:attr/colorForegroundInverse</item> </style>
TextInputLayoutãšåæ§ã«ãããŒãã«appBarLayoutStyleå±æ§ãäœæããããŒã¯ã¢ããã§å®éã®ãŠã£ãžã§ããã¹ã¿ã€ã«ãååŸããŸãã
TabLayoutã¹ã¿ã€ã«ã AppBarLayoutã䜿çšããã¿ã¹ã¯ãšåæ§ã«è§£æ±ºãããŸãã
ããŒã«ããŒã®ã¢ã€ã³ã³ã®è²ã¯ã colorControlNormalå±æ§ã䜿çšããŠèšå®ãããŸãã ãã ãã察åŠããå¿ èŠãããããã€ãã®åé¡ããããŸãã ãã©ãŒã«ã¹ã®ãªãç¶æ ã§ãEditTextè¡ã«è²colorControlNormanã䜿çšããŸããïŒç¢ºå®çãªProgressBarããã³SeekBarã§å¡ãã€ã¶ãããŠããªãé²è¡ç¶æ³ã®è²ã«èªåçã«äœ¿çšãããè²ïŒã çœãããã¹ããå«ãThemeOverlayã¯ãcolorControlNormalã#FFFFFFïŒçœïŒãšããŠãªãŒããŒã©ã€ãããŸãã ç·è²ã®ThemeOverlayã¯ãcolorControlNormal asïŒAttr / colorPrimaryããªãŒããŒã©ã€ãããŸãïŒèŠããŠããããã«ãç·è²ããããŸãïŒã
ThemeOverlayãå®çŸ©ããŸãã
<style name="Theme.Material.Sbrf" parent="@style/Theme.AppCompat.Light.NoActionBar"> <item name="colorControlNormal">@color/color_control_normal</item> <item name="appBarLayoutStyle">@style/Widget.Material.Sbrf.AppBarLayout</item> </style> <style name="Theme.Material.Sbrf.Colored"> <i></i> <item name="actionBarTheme">@style/ThemeOverlay.Material.Sbrf.ActionBar.Colored</item> <item name="appBarLayoutStyle">@style/Widget.Material.Sbrf.AppBarLayout.Colored</item> </style> <style name="Theme.Material.Sbrf.WhiteActionBar"> <i></i> <item name="actionBarTheme">@style/ThemeOverlay.Material.Sbrf.ActionBar.White</item> <item name="appBarLayoutStyle">@style/Widget.Material.Sbrf.AppBarLayout.White</item> </style> <style name="ThemeOverlay.Material.Sbrf" parent="@style/ThemeOverlay.AppCompat.Light"> <item name="colorControlNormal">@color/color_control_normal</item> </style> <style name="ThemeOverlay.Material.Sbrf.ActionBar"> <i></i> <item name="searchViewStyle">@style/Widget.AppCompat.SearchView.ActionBar</item> </style> <style name="ThemeOverlay.Material.Sbrf.ActionBar.Colored"> <i></i> <item name="colorControlNormal">?android:attr/textColorPrimaryInverse</item> </style> <style name="ThemeOverlay.Material.Sbrf.ActionBar.White"> <i></i> <item name="android:colorForeground">@color/color_foreground</item> <item name="android:colorForegroundInverse">@color/color_foreground_inverse</item> <item name="colorControlNormal">?attr/colorPrimary</item> </style>
ãããŠããããããŒã¯ã¢ããã«é©çšããŸãïŒ
<android.support.design.widget.AppBarLayout android:id="@+id/app_bar_layout" style="?attr/appBarLayoutStyle" android:layout_width="match_parent" android:layout_height="wrap_content" app:theme="?attr/actionBarTheme"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content"/> <i></i> <android.support.design.widget.TabLayout android:id="@+id/tab_layout" style="?attr/tabLayoutStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:clipToPadding="false" android:paddingLeft="0dp" app:tabMode="fixed"/> </android.support.design.widget.AppBarLayout>
巊端ããããŒã«ããŒã®ããã¹ãã®ã€ã³ãã³ãã Googleãããªã¢ã«ã¬ã€ãã©ã€ã³ã§ã¯ãUpãã¿ã³ãããå Žåã¯72dpã«ãããã§ãªãå Žåã¯16dpã«èšå®ããå¿ èŠããããŸãã ãããã¯ã2ã€ã®ç°ãªãã€ã³ãã³ããæã€ãã®ãããªã¢ã¯ãã£ããã£ã®2ã€ã®ç°ãªãããŒãã«2ã€ã®ç°ãªãããŒã«ããŒã¹ã¿ã€ã«ãé 眮ã§ããŸãã 1ã€ã®éèŠã§ãªããã©ã¡ãŒã¿ãŒã®ããã«ã¹ã¿ã€ã«å šäœãå€æŽããã®ã§ã¯ãªãããã®ãã©ã¡ãŒã¿ãŒèªäœãå€æŽããããšã«ããŸããã
ãããã¯ã§æ°ããå±æ§ãååŸããŸãããïŒ
<<b>declare-styleable name="Theme.Material.Sbrf"</b>> <<b>attr name="toolbarContentInsetStart" format="dimension"</b>/> </<b>declare-styleable</b>>
æ°ããããŒã«ããŒã¹ã¿ã€ã«ãå®çŸ©ããŸãã
<style name="Widget.Material.Sbrf.Toolbar" parent="@style/Widget.AppCompat.Toolbar"> <item name="contentInsetLeft">?attr/toolbarContentInsetStart</item> <item name="contentInsetStart">?attr/toolbarContentInsetStart</item> </style>
2ã€ã®ããŒãã§æ°ããå±æ§ãå®çŸ©ãã芪ããŒãã§ã¯ããŒã«ããŒã®ã¹ã¿ã€ã«ãåå®çŸ©ããŸãã
<style name="Theme.Material.Sbrf" parent="@style/Theme.AppCompat.Light.NoActionBar"> <item name="toolbarContentInsetStart">72dp</item> <item name="toolbarStyle">@style/Widget.Material.Sbrf.Toolbar</item> </style> <style name="Theme.Material.Sbrf.Colored"> <i><!-- , --></i> </style> <style name="Theme.Material.Sbrf.Colored.IconlessList"> <i></i> <item name="toolbarContentInsetStart">16dp</item> </style>
ããã§ãæå®ããããããã¯ã«å¿ããŠãããã¹ãã¯å·Šç«¯ãšã¯ç°ãªãã€ã³ãã³ãã«ãªããŸãã ã¬ã€ãã©ã€ã³ã§äœãããå¿ èŠããã£ããã
ããŒã«ããŒã®ããã¹ãã®è²ã AppCompatã¹ã¿ã€ã«ã¯ãããã¹ãã®ããã©ã«ãã®è²ãèšå®ããŸãïŒtextColorPrimaryã 件åèªäœã§ã¯ãtextColorPrimaryã¯90ïŒ é»ãšããŠå·»ãäžããããŸãã ç·ã®ThemeOverlayã¯ãtextColorPrimaryã100ïŒ çœãšããŠãªãŒããŒã©ã€ãããŸãã White ThemeOverlayã¯ãAttr / colorPrimaryãšããŠåå®çŸ©ããŸãã
ThemeOverlayã®å¶éã AppBarLayoutå ã«ãããã¥ãŒãã©ã°ã¡ã³ãã«ã¯é©çšããªãã§ãã ããã
ãããã«
ãã®ã¢ããªã±ãŒã·ã§ã³ã¯å æ¥ãGoogle Playã§å©çšå¯èœã«ãªããŸãããããã§ã¯ãæ¹é©ã«ã€ããŠæ€èšããŸãã
ã¢ããªã±ãŒã·ã§ã³ã®äœæã«å¿ èŠãªæéãå€§å¹ ã«ççž®ããŸãããçµ±åãããTextAppearanceãã€ã³ãã³ããã¹ã¿ã€ã«ã®ãããã§ãæ°ããç»é¢ã®äœæãšå€ãç»é¢ã®ç·šéãè¿ éãã€å¹ççã§ãã ã€ã³ãã³ããæåã§æž¬å®ããããColorPickerã§è²ã確èªãããïŒããããè²ã®ã¢ã«ãã¡ãã£ãã«ãååŸïŒããã®ã«ç¡é§ãªæéã¯ãããããŸããïŒã¬ã€ã¢ãŠãå ã®ãªãœãŒã¹ã®ãšã€ãªã¢ã¹ãèŠãŠãé©åãªãªãœãŒã¹ãéžæããŠãããç¶è¡ããŸãã
ããã°ã©ããŒã¯ãUXã®åé¡ã解決ãããšãã圌ããåçºãããã®ãšãã¶ã€ããŒãæå³ããããšãç解ããŠããŸãã ãŠã£ãžã§ãããã¹ã¿ã€ãªã³ã°ããéã«ããããèæ ®ããŸãã ããšãã°ããã¶ã€ããŒãã¬ã€ã¢ãŠãã«ç·è²ã®ãã¿ã³ãæããå Žåãã¢ããªã±ãŒã·ã§ã³ã«ã¯ãã§ãŒã¹ã¬ã¹ã¹ã¿ãããªãã¯ã§ã¯ãªããæŒãããšã«å¿çãããã¿ã³ãå¿ èŠã§ãã èšèšè ã¯ãAndroidãã©ãããã©ãŒã ã®ã©ã®èŠçŽ ããã€ãã£ãã§ãããã©ã®èŠçŽ ã«å€§å¹ ãªæ¹è¯ãå¿ èŠã§ãä¿å®ãé£ããããèªèããŠããŸãã
ããã°ã©ããšèšèšè ã®éã§ç¢ºç«ãããç解ã«ãããçµæãããéããããä¿¡é Œæ§ã®é«ããã®ã«ããããšãå¯èœã«ãªããŸããã ã¬ã€ã¢ãŠãã®å€æŽã¯ãæãã¯ãªãã¯ããã ãã§è¡ãããŸãïŒç·ã®ã¢ããªããŒãçœã®ã¢ããªããŒã«çœ®ãæããã«ã¯ãè²»çšãããããŸãïŒæ°ããAppBarLayoutã¹ã¿ã€ã«ãšæ°ããThemeOverlayãè¿œå ãããããã1ã€ã®ããŒãã«çµåããŠããããžã§ã¯ãå šäœã®ã¡ã€ã³ã«å²ãåœãŠãã ãã§ãïŒã
åœç¶ãããã€ãã®ã¢ã€ãã¢ã¯å€±æããŸããã 5ã€ã®æå°ã»ã«é«ã§ååã§ãããšãã誀ã£ãä»®å®ãç«ãŠãŸããã å®éã«ã¯ãèšèšè ã¯èšèšæã«ãã®ç¹æ§ã䜿çšãããã³ã³ãã³ãããçŽæ¥åçºãããããšãå€æããŸããã ã€ã³ãã³ãã®åœåã·ã¹ãã ã¯å€±æããèŠèŠçã§ã¯ãããŸããã§ããã
ããã«ãããããããæ¡çšãããèŠåã®å€§éšåã¯å®éã«ã¯éåžžã«å¹æçã§ããããšã蚌æãããŸããã æ°ããããŒã«ã䜿çšããŠããããªã¢ã«ã®ã¹ã¿ã€ã«ã§èª¿åã®ãšããã¢ããªã±ãŒã·ã§ã³ãäœæããŸããã ãã¹ãŠã®äººãGoogle Playã«æåŸ ããŠãå®éã«äœæ¥ã®çµæãè©äŸ¡ã§ããŸãã
次ã®å·ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¿ãŒãã§ãŒã¹ãäœæããããã»ã¹ã«ã€ããŠã話ããŸãã