Android pri (17)

Android开发入门

Lesson 3B(4)

Styles

  • In order to reduce repetition.
  • 可以将一些重复写的样式写到styles.xml文件中去,但是有些还是不要写进去了,当然这需要你自己来进行抉择。
  • References
  • 在我的app里,我只是简单的修改了一下toppings和quatity的header
  • styles.xml
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    </style>
    <style name="HeaderTextStyle">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">48dp</item>
    <item name="android:gravity">center_vertical</item>
    <item name="android:textAllCaps">true</item>
    <item name="android:textSize">15sp</item>
    </style>
    </resources>
1
2
3
4
5
6
<TextView
android:layout_marginBottom="16dp"
android:layout_marginTop="16dp"
android:text="@string/Quantity"
style="@style/HeaderTextStyle"
android:textColor="#000000" />

Themes

  • style和theme的区别就在于,style被用于single view,而theme则被用于application或者是activity中的所有view。
  • 使用材料主题
  • 维护兼容性
  • 在指定配色主题的时候,它们也是写在styles.xml文件中的,默认是AppTheme,已经给你写好了,如果你要修改默认的 theme,(1)可以直接修改这个AppTheme,(2)可以自己再新建一个theme,然后去AndroidManifest.xml文件中去修改,在menifest.xml文件中,我们既可以修改整个app的theme,或者你也可以说将某个theme赋给某个Activity也是可以的。
  • Markdown
  • color可以在material design中找到,然后Google建议我们最好使用500的在colorprimary上,然后在稍微深一点的用在colorPrimaryDark上。
  • 还有可能会出现兼容性的问题,这个时候最好使用Theme.AppCompat主题,然后再对其进行覆盖就好了。
  • Markdown
  • styles.xml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">#FFEB3B</item>
    <item name="colorPrimaryDark">#FBC02D</item>
    <item name="colorAccent">#5D4037</item>
    </style>
    <style name="HeaderTextStyle">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">48dp</item>
    <item name="android:gravity">center_vertical</item>
    <item name="android:textAllCaps">true</item>
    <item name="android:textSize">15sp</item>
    </style>
    </resources>
  • 效果图

  • Markdown

热评文章