• 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里,设置背景图啦,

  • 相关阅读:
    Linux配置虚拟RAID阵列
    D-Bus错误 D-Bus setup failed: Connection "xxx" is not allowed to own the service "org.bluez" due to security policies in the configuration file
    ftp
    echarts图例过多,折线过多颜色不知道怎么分配怎么办??优化如下
    vuex页面刷新数据丢失的解决办法
    obj转换为gltf方法three.js一步一步来--性能优化超厉害的!!!!!超赞操作!!!Obj模型转Gltf模型并超强压缩!!!!!
    three.js一步一步来--加载模型并修改其大小、按照规定的区域把一堆模型摆得整整齐齐~~~
    three.js一步一步来--简单交互--点击物体变红
    线上代码已变更,客户没有刷新浏览器,导致点击菜单后找不到相对路由js文件无法加载XXX路由,解决办法如下
    angular配置多个系统 配置动态路由,缩短模块初次加载时间,快速打开界面,优化用户访问体验
  • 原文地址:https://www.cnblogs.com/jxyZ/p/4096412.html
Copyright © 2020-2023  润新知