zoukankan      html  css  js  c++  java
  • activity theme parent 属性浅析

    在AndroidManifest.xml文件中,可以对每一个Activity设置android:theme

    theme的设置 可以设置为系统自带的格式,也可以自定义格式。

    A: 系统自带格式

       

    1、android:theme="@android:style/Theme"

    默认状态,即如果theme这里不填任何属性的时候,默认为Theme

    2、android:theme="@android:style/Theme.NoDisplay"

    任何都不显示。比较适用于只是运行了activity,但未显示任何东西

    3、android:theme="@android:style/Theme.NoTitleBar“

    背景主题的没有标题栏的样式,默认如果没有设置的话,显示黑背景

    4、android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

    背景主题的没有标题栏且全屏的样式,默认为黑背景

    5、android:theme="@android:style/Theme.Black"

    默认状态下黑背景

    6、android:theme="@android:style/Theme.Black.NoTitleBar"

    黑背景主题的没有标题栏的样式

    7、android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"

    黑背景主题的没有标题栏且全屏的样式

    8、android:theme="@android:style/Theme.Light"

    默认状态下亮背景,与上述黑背景Theme.Black相反

    9、android:theme="@android:style/Theme.Light.NoTitleBar"

    亮背景主题的没有标题栏的样式,与Theme.Black.NoTitleBar相反

    10、android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"

    亮背景主题的没有标题栏且全屏显示的样式,与Theme.Black.NoTitleBa.Fullscreenr相反

    11、android:theme="@android:style/Theme.Dialog"

    对话框样式 将整个activity变成对话框样式出现

    12、android:theme="@android:style/Theme.InputMethod"

    Window animations that are applied to input method overlay windows

    13、android:theme="@android:style/Theme.Panel"

    删除掉所有多余的窗口装饰,在一个空的矩形框中填充内容,作用范围相当于把dialog中的所有元素全部去掉,只是一个空的矩形框,且此为默认的样式

    14、android:theme="@android:style/Theme.Light.Panel"

    删除掉所有多余的窗口装饰,在一个空的矩形框中填充内容,作用范围相当于把dialog中的所有元素全部去掉,只是一个空的矩形框,且默认是light的样式

    15、android:theme="@android:style/Theme.Wallpaper"

    使用墙纸做主题,默认状态。

    16、android:theme="@android:style/Theme.WallpaperSettings"

    使用墙纸做主题,默认是使用将上一个界面调暗之后作为主题

    17、android:theme="@android:style/Theme.Light.WallpaperSettings"

    使用墙纸做主题,默认Light状态

    18、android:theme="@android:style/Theme.Wallpaper.NoTitleBar"

    使用墙纸做主题,且没有标题栏

    19、android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"

    使用墙纸做主题,且没有标题栏,且全屏显示

    20、android:theme="@android:style/Theme.Translucent"

    半透明状态下的背景,将运行此activity之前的屏幕作为半透明状态作为此activity运行时的样式。

    21、android:theme="@android:style/Theme.Translucent.NoTitleBar"

    半透明状态下没有标题栏的背景,将运行此activity之前的屏幕作为半透明状态作为此activity运行时的样式。

    22、android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"

    半透明状态下没有标题栏且全屏的背景,将运行此activity之前的屏幕作为半透明状态作为此activity运行时的样式

    可以在单个Activity里设置,也可以在applicaiton里全局设置。比如:

    <activity android:screenOrientation="portrait" android:name=".ui.RegisterActivity" android:theme="@android:style/Theme.NoTitleBar"></activity>

    B:也可以自定义

         在activity里加入 android:theme="@style/MyTitleBar" 再在 style.xml里加入

       <style name="MyTitleBar" parent="android:Theme">
            <item name="android:windowTitleSize">50dip</item>

             <item name="android:windowTitleBackgroundStyle">@style/MyTitleBackground</item>
            <item name="android:windowTitleStyle">@style/WindowTitle</item>
      </style>

     <!-- 自定义标题栏背景图 -->
      <style name="MyTitleBackground" parent="android:TextAppearance.WindowTitle">
       <item name="android:background">@drawable/bg_topbar</item>
      </style>
      <style name="WindowTitle" parent="android:TextAppearance.WindowTitle">
       <item name="android:singleLine">true</item>

      </style>

    这里的parent是继承于android:Theme,所以在下面的样式里,只能是window开头的样式才起作用,所有样式请参考sdkdocs eferenceandroidR.attr.html,

    也可以设置windowTitleBackgroundStyle 为@style/MyTitleBackground,这样就可以在MyTitleBackground里,设置背景图啦,

  • 相关阅读:
    CD4051
    sbit和sfr的定义
    EEPROM与FLASH的区别
    九LWIP学习笔记之最后的战役
    八LWIP学习笔记之用户编程接口(NETCONN)
    七LWIP学习笔记之传输控制协议(TCP)
    六LWIP学习笔记之用户数据报协议(UDP)
    java实现二叉查找树
    线程的锁对象
    MAP
  • 原文地址:https://www.cnblogs.com/jxyZ/p/4096412.html
Copyright © 2011-2022 走看看