当前位置: 首页 > news >正文

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"/>

  

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开头的样式才起作用,所有样式请参考\sdk\docs\reference\android\R.attr.html,

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

 

转载于:https://www.cnblogs.com/Im-Victor/p/6267350.html

相关文章:

  • Filter过滤器,Interceptor拦截器,ControllerAdvice,Aspect切片
  • php调用系统命令如何获得输出结果
  • 实现一个websocket服务器-实践篇
  • 分布式架构高可用架构篇_04_Keepalived+Nginx实现高可用Web负载均衡
  • ABP理论学习之缓存Caching
  • Linux GPIO控制方法
  • “双十二”:“交互+交易+交付”融合运营为王
  • 直接拿来用,最火的.NET开源项目
  • FAQ宝典之Rancher Server
  • Kali Linux渗透测试实战 2.2 操作系统指纹识别
  • Git:pull --rebase 和 merge --no-ff
  • 数据库模块(2天)(sql基础主键,外键,唯一索引)最重要连表查询
  • Neo4j embedded例子
  • win10编译caffe跑faster-rcnn(cuda7.5)
  • iOS计步器实例
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • Angular 响应式表单之下拉框
  • Angularjs之国际化
  • EOS是什么
  • flask接收请求并推入栈
  • JavaScript对象详解
  • JavaScript设计模式系列一:工厂模式
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • uni-app项目数字滚动
  • 从零开始学习部署
  • 大数据与云计算学习:数据分析(二)
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 浏览器缓存机制分析
  • 区块链分支循环
  • 如何优雅地使用 Sublime Text
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 物联网链路协议
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • hi-nginx-1.3.4编译安装
  • PostgreSQL之连接数修改
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • #{}和${}的区别是什么 -- java面试
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (70min)字节暑假实习二面(已挂)
  • (C)一些题4
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (二)Linux——Linux常用指令
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (一)Neo4j下载安装以及初次使用
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)程序员疫苗:代码注入
  • (转)项目管理杂谈-我所期望的新人
  • ./configure,make,make install的作用