美文网首页
style和theme

style和theme

作者: shenlong77 | 来源:发表于2017-04-14 17:37 被阅读0次

    style

    style样式资源,定义在values文件夹下,style.xml中。
    1 基本结构
    style标签中,定义name,每个style标签中可以定义多个item标签,item标签中name设置各种布局的属性,标签之间设置属性值。使用parent属性可以继承另一个style。

    <!--设置一个style-->
        <style name="Text">
            <item name="android:textSize">50sp</item>
        </style>
        <!--设置一个style,并继承Text-->
        <style name="AnotherText" parent="@style/Text">
            <item name="android:textSize">50sp</item>
        </style>
    

    2 在布局文件中使用style
    可以在各种View控件中使用引入style,引入style后,该控件便具有了style定义的属性。View和style的关系,就类似于html和css的关系。
    使用方法为 style="@style/Text"

     <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="@style/Text"
            android:text="dddd"/>
    

    theme

    theme是主题样式,定义的方法和style一致,但是Theme只能用于设置activity窗体的样式。需要在AndroidMenifest中的Activity中引入theme
    格式为 android:theme="@style/NoDisplayTheme"
    设置theme

    <!-- Application的主题 -->
        <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
            <item name="colorPrimary">@color/truncate</item>
            <item name="colorPrimaryDark">@color/truncate</item>
            <item name="colorAccent">@color/truncate</item>
        </style>
        <!-- 某个Activity的主题 -->
        <style name="NoDisplayTheme" parent="@style/AppTheme">
            <!--设置背景是否透明-->
            <item name="android:windowIsTranslucent">true</item>
            <!--设置背景颜色-->
            <item name="android:windowBackground">@color/truncate</item>
            <!--设置是否显示标题-->
            <item name="android:windowNoTitle">true</item>
        </style>
    

    在AndroidManifest的activity中引入theme

    <activity android:name=".MainActivity" android:theme="@style/NoDisplayTheme">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    

    使用系统自带的theme

    1、Android:theme="@android:style/Theme.Dialog"
         将一个activity显示为对话框
       2、Android:theme="@android:style/Theme.NoTitleBar"
         应用程序无标题栏
       3、Android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
         应用程序无标题栏,并全屏
       4、Android:theme="@android:style/Theme.Light"
         背景为白色
       5、Android:theme="@android:style/Theme.Light.NoTitleBar"
         背景为白色,且无标题栏
       6、Android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"
         背景为白色,无标题栏,且全屏
       7、Android:theme="@android:style/Theme.Black"
         背景为黑色
       8、Android:theme="@android:style/Theme.Black.NoTitleBar"
         背景为黑色,且无标题栏
       9、Android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
         背景为黑色,无标题栏,且全屏
       10、Android:theme="@android:style/Theme.Wallpaper"
         用系统桌面为应用程序背景
       11、Android:theme="@android:style/Theme.Wallpaper.NoTitleBar"
         用系统桌面为应用程序背景,且无标题栏
       12、Android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"
         用系统桌面为应用程序背景,无标题栏,且全屏
       13、Android:theme="@android:style/Theme.Translucent"
         应用程序透明
       14、Android:theme="@android:style/Theme.Translucent.NoTitleBar"
         应用程序透明,且无标题栏
       15、Android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
         应用程序透明,无标题栏,且全屏
       16、Android:theme="@android:style/Theme.Panel"
       
       17、16、Android:theme="@android:style/Theme.Light.Panel"
    

    相关文章

      网友评论

          本文标题:style和theme

          本文链接:https://www.haomeiwen.com/subject/ywiiattx.html