1.主题和样式的区别主要区别在

  • 主题不能作用于单个View组建,主题应该对整个应用中的所有Activity起作用或者对指定的Activity起作用。

  • 主题定义的格式应该是改变窗口的外观格式,例如窗口变体,窗口边框等。

2.自定义主题 

  • 在/res/values/my_style.xml文件增加一个主题,定义主题<style.../>片段如下:

<style name="CrazyTheme" parent="@android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullScreen">true</item>
<item name="android:windowFrame">@drawable/window_border</item>
<item name="android:windowBackground>@drawable/star</item>
</style>

可以通过parent属性,继承原有的主题。

  • 在定义上面的主题后,接下来在Java代码中使用该主图:

public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setTheme(android.R.style.CrazyitTheme);
setContentView(R.layout.linear_layout_3);
}

还可以在AndroidManifest.xml中对指定应用、指定Activity应用主题,这样更简单:

<application android:theme="@style/CrazyitTheme">
... ...
</application>
<activity android:theme="@android:style/Theme.Dialog">
</activity>
 

3.Android系统包含了很多系统定义好的theme。总结如下: 

主题 

说明 

图例 

Theme.NoTitleBar

不显示应用程序标题栏

Theme.NoTitleBar.Fullscreen

不显示应用程序标题栏,并全屏

Theme.Light

背景为白色

Theme.Light.NoTitleBar

白色背景并无标题栏

Theme.Light.NoTitleBar.Fullscreen

白色背景,无标题栏,全屏

Theme.Black

背景黑色

Theme.Black.NoTitleBar

黑色背景并无标题栏

Theme.Black.NoTitleBar.Fullscreen

黑色背景,无标题栏,全屏

Theme.Wallpaper

用系统桌面为应用程序背景

Theme.Wallpaper.NoTitleBar

用系统桌面为应用程序背景,且无标题栏

Theme.Wallpaper.NoTitleBar.Fullscreen

用系统桌面为应用程序背景,无标题栏,全屏

Theme.Translucent

透明背景

Theme.Translucent.NoTitleBar

透明背景并无标题

Theme.Translucent.NoTitleBar.Fullscreen

透明背景并无标题,全屏

Theme.Dialog

对话框形式显示

Theme.Panel

面板风格显示

Theme.Light.Panel

平板风格显示

Android:主题(Theme)的更多相关文章

  1. Android主题theme和风格style总结

    用到了Android的主题和风格,感觉很多地方需要总结和记录下来.其实主题和风格是有很大的作用的,特别是界面要求比较高的客户端. Style:是一个包含一种或者多种格式化属性的集合,我们可以将其用为一 ...

  2. Android 主题theme说明 摘记

    主题Theme就是用来设置界面UI风格,可以设置整个应用或者某个活动Activity的界面风格.在Android SDK中内置了下面的Theme,可以按标题栏Title Bar和状态栏Status B ...

  3. Android 样式 (style) 和主题(theme)

    转载:https://gold.xitu.io/post/58441c48c59e0d0056a30bc2 样式和主题 样式是指为 View 或窗口指定外观和格式的属性集合.样式可以指定高度.填充.字 ...

  4. 总结一下Android中主题(Theme)的正确玩法

    在AndroidManifest.xml文件中有<application android:theme="@style/AppTheme">,其中的@style/AppT ...

  5. 20.(转)Android的样式(Style)和主题(Theme)

    Android上的Style分为了两个方面: 1,Theme是针对窗体级别的,改变窗体样式: 2,Style是针对窗体元素级别的,改变指定控件或者Layout的样式. Android系统的themes ...

  6. 【转载】总结一下Android中主题(Theme)的正确玩法

    http://www.cnblogs.com/zhouyou96/p/5323138.html 总结一下Android中主题(Theme)的正确玩法 在AndroidManifest.xml文件中有& ...

  7. Android菜鸟的成长笔记(6)——剖析源码学自定义主题Theme

    原文:Android菜鸟的成长笔记(6)--剖析源码学自定义主题Theme 还记得在Android菜鸟的成长笔记(3)中我们曾经遇到了一个问题吗?"这个界面和真真的QQ界面还有点不同的就是上 ...

  8. Android样式(style)和主题(theme)

    样式和主题 样式是指为 View 或窗口指定外观和格式的属性集合.样式可以指定高度.填充.字体颜色.字号.背景色等许多属性. 样式是在与指定布局的 XML 不同的 XML 资源中进行定义. Andro ...

  9. Android下Notification,样式style,主题theme的功能实现

    一:Notification 1.NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVIC ...

随机推荐

  1. HTTP数据包头解析(简单清楚)

    [转]HTTP请求模型和头信息参考 参考: http://blog.csdn.net/baggio785/archive/2006/04/13/661410.aspx模型: http://blog.c ...

  2. nyoj 55 懒省事的小明 优先队列 multiset 还有暴力

    懒省事的小明 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 3   描述       小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的 ...

  3. J2EE SSH学习(二)安装Eclipse插件和第一个Eclipse项目

    (一)安装Eclipse插件 Eclipse有很多功能很强大的插件,我现在作为一个菜鸟只知道插件的功能通常都很牛叉实用或者很有趣,那么该怎么安装Eclipse插件呢? 我使用的是Eclipse 4.3 ...

  4. Delphi事件的广播 good

    明天就是五一节了,辛苦了好几个月,借此机会应该尽情放松一番.可是想到Blog好久没有写文章,似乎缺些什么似的.这几个月来在项目中又增长了许多经验,学到许多实际应用的知识.不如把一些比较有用的记录下来, ...

  5. MOCKITO 应用示例

    package com.paic.wms.service.auditflow.impl; import static org.junit.Assert.*; import java.util.Arra ...

  6. POJ1422 最小路径覆盖入门

    题意:DAG求最小路径覆盖. 注意:二分匹配只试用于求DAG的最小路径覆盖, 有环就不行,具体可以理解证明. 对n个点进行拆点,分成左右两排点,对于边<u, v> 建  <u', v ...

  7. win8vs2012创建自带sqlServer数据库出错

    以前写程序的时候,一直使用的sqlite,今天心血来潮,想用vs2012连接自身带的数据库,结果就出现错误: 啊,看到这个错误,咱赶紧上网搜搜,啊,有关的日志也是比较少的,经过一番苦战之后,终于好了, ...

  8. Servlet和JSP读书笔记(一)

    Java Servlet 技术,简称Servlet,是Java中用于开发web应用程序的基本技术. Servlet实际上也就是一个Java程序.一个Servlet应用程序通常包含很多Servlet.而 ...

  9. 系统变量file.encoding对Java的运行影响有多大?(转)good

    这个话题来自: Nutz的issue 361 在考虑这个issue时, 我一直倾向于使用系统变量file.encoding来改变JVM的默认编码. 今天,我想到, 这个系统变量,对JVM的影响到底有多 ...

  10. Android 手势&amp;触摸事件 MotionEvent

    1.http://blog.csdn.net/omg_2012/article/details/7881443 这篇相当好啊 2.http://blog.csdn.net/android_tutor/ ...