Android-主题
主题分为两种:
第一种:使用Android系统提供的主题
第二种:自己定义主题
样式 与 主题 区分理解
样式是控制(View的子类风格)控件风格 或者 是(ViewGroup的子类风格)布局风格
主题是控制整体风格(例如:Application Activity 等)
Android系统提供的主题:

Activity使用Android系统提供的主题:
Application 默认就使用来一个主题:android:theme="@style/AppTheme"
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
Activity 使用系统的主题:
<!--
对话框主题
android:theme="@android:style/Theme.DeviceDefault.Dialog">
android:theme="@android:style/Theme.Holo.Dialog"
android:theme="@android:style/Theme.Dialog" android:theme="@style/Theme.AppCompat.Dialog"
android:theme="@style/Theme.AppCompat.DayNight.Dialog"
android:theme="@style/Base.Theme.AppCompat.Dialog.FixedSize"
... 没有标题+全屏
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 没有标题
android:theme="@android:style/Theme.Black.NoTitleBar" -->
<activity android:name=".ThemeActivity"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </activity>
使用Android系统主题的效果:

自定义主题:
自己去定义主题,首先要找到系统提供的主题文件
android-16 android-22 android-xxx 平台版本无所谓,都可以的
找到themes.xml文件打开阅读

找到themes.xml文件打开阅读,要明白Android的这些窗体都是Window,所以直接找Window字样

在values文件夹新建,themes.xml 主题文件:

在themes.xml中定义主题,注意:自定义主题需要增加 android:才行,刚刚阅读系统主题是没有加android: 。
<?xml version="1.0" encoding="utf-8"?>
<resources> <!-- 无标题主题 -->
<style name="My_Theme_Not_Title">
<item name="android:windowNoTitle">true</item>
</style> <!-- 全屏主题(无状态栏 + 继承了parent="My_Theme_Not_Title" 无标题) -->
<style name="My_Theme_Not_Title_Fullscreen" parent="My_Theme_Not_Title">
<item name="android:windowFullscreen">true</item>
</style> </resources>
使用自定义主题:
自定义主题:
android:theme="@style/My_Theme_Not_Title_Fullscreen"
android:theme="@style/My_Theme_Not_Title"
<activity android:name=".ThemeActivity"
android:theme="@style/My_Theme_Not_Title"> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </activity>
自定义主题都效果:

Android-主题的更多相关文章
- Android学习系列(40)--Android主题和样式之系统篇(下)
11)Widget样式(Widget Style) 特别说明,此处定义大量的系统内置控件的样式,对于重写原生控件的样式具有很大的参考价值. <!-- Widget styles --> & ...
- Android主题换肤实现
本系列文章主要是对一个Material Design的APP的深度解析,主要包括以下内容 基于Material Design Support Library作为项目整体框架.对应博文:Android ...
- Android主题更换换肤
知识总览android主题换肤通常借助LayoutInflater#setFactory实现换肤. 换肤步骤: 通过解析外部的apk压缩文件,创建自定义的Resource对象去访问apk压缩文件的资源 ...
- Android学习系列(39)--Android主题和样式之系统篇(上)
[基于最新的Android4.4的源码分析] 每家公司或者每个移动团队无不想开发出一套自己的UI框架,融入自己的设计和特性,这必然会去修改android的ui.所以,学习和理解android的UI设计 ...
- Android 主题和选择器
今天在做底部tab的时候因为样式都一样 所以就自定义一个style 这样省的写很多重复的样式(懒懒懒懒), 修改的话直接在样式里修改省去一个一个修改一样的代码 1 在values/styles.xml ...
- Android主题theme和风格style总结
用到了Android的主题和风格,感觉很多地方需要总结和记录下来.其实主题和风格是有很大的作用的,特别是界面要求比较高的客户端. Style:是一个包含一种或者多种格式化属性的集合,我们可以将其用为一 ...
- Android 主题动态切换框架:Prism
Prism(棱镜) 是一个全新的 Android 动态主题切换框架,虽然是头一次发布,但它所具备的基础功能已经足够强大了!本文介绍了 Prism 的各种用法,希望对你会有所帮助,你也可以对它进行扩展, ...
- Android主题切换方案总结
所谓的主题切换,就是能够根据不同的设定,呈现不同风格的界面给用户,也就是所谓的换肤. 1.将主题包(图片与配置)存到SD卡上(可通过下载或手动放入指定目录),在代码里强制从本地文件创建图片与配置文字大 ...
- Android主题换肤 无缝切换
2016年7月6日 更新:主题换肤库子项目地址:ThemeSkinning,让app集成换肤更加容易.欢迎star以及使用,提供改进意见. 更新日志: v1.3.0:增加一键切换切换字体(初版)v1. ...
- Android:主题(Theme)
1.主题和样式的区别主要区别在 主题不能作用于单个View组建,主题应该对整个应用中的所有Activity起作用或者对指定的Activity起作用. 主题定义的格式应该是改变窗口的外观格式,例如窗口变 ...
随机推荐
- 03_java之基本语法
01创建引用类型变量公式 * A: 创建引用类型变量公式 * a: 我们要学的Scanner类是属于引用数据类型,我们先了解下引用数据类型. * b: 引用数据类型的定义格式 * 与定义基本数据类型变 ...
- linux中args工具
三.xargs xargs - build and execute command lines from standard input 在使用find命令的-exec选项处理匹配到的文件时, find ...
- ce
一,什么是epel 如果既想获得 RHEL 的高质量.高性能.高可靠性,又需要方便易用(关键是免费)的软件包更新功能,那么 Fedora Project 推出的 EPEL(Extra Packages ...
- 用C#操作IO端口1-用并口控制发光二极管
什么是端口? 端口包含了一系列信号线, 通过这个端口CPU可以同其他外部设备交换数据, 比如我们经常见到的Modem,打印机等. 通常情况下, 打开的信号是”1”, 关闭的信号是”0”. 并口在同一时 ...
- __slots__
__slots__ 由于Python是动态语言,任何实例在运行期都可以动态地添加属性. 如果要限制添加的属性,例如,Student类只允许添加 name.gender和score 这3个属性,就可以利 ...
- CentOS Grub、BASH 故障、解决方法
简介: Grub 常见的两种故障:Grub.conf 文件丢失.MBR 损坏 ( 不管恢复怎么样,还是先备份好吧 ) 一.Grub.conf 文件丢失 shell > rm -rf /boot/ ...
- go cobra
https://github.com/spf13/cobra https://github.com/spf13/cobra/blob/master/bash_completions.md go get ...
- Linux实战教学笔记20:初级阶段结束,中级阶段起航
第二十节 第一阶段结束第二阶段起航 标签(空格分隔): Linux实战教学笔记-陈思齐 一,承上 Linux实战教学笔记的基础核心能力阶段也就是第一阶段到此也就告一段落了.如果同学们能基本全都掌握,再 ...
- ElasticSearch的java api
pom <dependencies> <dependency> <groupId>org.elasticsearch.client</groupId> ...
- PHPStorm+XDEBUG 调试Laravel
首先输出phpinfo(); https://xdebug.org/wizard.php 打开然后查看适合你的调试扩展版本 ,目前支持到php7.2 整个页面ctrl+a 复制进去 然后下载 扩展文 ...