Android--样式与主题

样式(style):

    理解:
        在写布局时,少不了会出现多行同样的代码,这时候可以把这些同样的代码放在style.xml中定义成一个Style,
        之后在布局文件中使用@style/style_name统一引用
    作用:
        复用视图标签属性
    系统样式:
        使用系统样式:@android:style/xxx

主题(theme):

    理解:
        主题的本质也是style
        在style.xml中定义,在manifest.xml中引用
    作用:
        复用视图标签属性
    目标:
        针对整个应用或某个activity的界面
    系统常用主题:
   !!!! @android:style/Theme.AppCompat.Light.NoTitleBar:没有标题
        @android:style/Theme.AppCompat.Light.NoTitleBar.Fullscreen:全屏
        @android:style/Theme.Dialog:对话框

例子:我们有三行TextView,除文字外,其余都相同。

   <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableLeft="@android:drawable/star_big_on"
            android:text="第三行"
            android:gravity="center_vertical"/>

我们可以在在values文件里面的style里添加样式:

  <style name="myStyle">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:drawableLeft">@android:drawable/star_big_on</item>
        <item name="android:gravity">center_vertical</item>
    </style>

之后可以将布局改为:

		<TextView
            style="@style/myStyle"
            android:text="第三行"
           />

即可。


顺便:
强调一点:在配置文件的theme属性中会经常用到这个

@android:style/Theme.AppCompat.Light.NoTitleBar:没有标题

将 android:theme="@style/AppTheme"中的属性修改未上面的某个

发布了117 篇原创文章 · 获赞 1 · 访问量 7077

猜你喜欢

转载自blog.csdn.net/qq_43616001/article/details/104241796