Android Theme修改系统主题

news/2025/1/13 2:49:57/
1,Theme 的作用范围
【1】Theme(主题)是针对窗体级别的,改变窗体样式,对整个应用或某个Activity存在全局性影响。 
【2】主题依然在<style>元素里边申明,也是以同样的方式引用。
  • 不同的是Theme可以在Android Manifest中定义的<application>和<activity>中通过设置属性 android:theme=”@style/**“添加到整个程序或者某个Activity。 
【3】主题是不能应用在某一个单独的View里。
<style name="CustomTheme">
<item name="android:windowNoTitle">true</item>
<item name="windowFrame">@drawable/screen_frame</item>
<item name="windowBackground">@drawable/screen_background_white</item>
<item name="panelForegroundColor">#FF000000</item>
<item name="panelBackgroundColor">#FFFFFFFF</item>
<item name="panelTextColor">?panelForegroundColor</item>
<item name="panelTextSize">14</item>
<item name="menuItemTextColor">?panelTextColor</item>
<item name="menuItemTextSize">?panelTextSize</item>
</style>

 

2,Theme引用
【1】 我们用了@符号和?符号来应用资源。
  • @符号 表明了我们应用的资源是已经定义过并存在的,可以直接引用。(和布局文件引用相同)
  • ?符号 表明了我们引用的资源的值在当前的主题当中定义过。通过引用在<item>里边定义的名字可以做到
  • (panelTextColor用的颜色和panelForegroundColor中定义的一样)。
3,修改系统主题(对系统主题进行少部分调整)
  • 如果想设置某个主题,但又想做少量调整以满足需求,只需将该主题添加为当前主题的parent即可。例如:
        
// 在Theme.AppCompat.Dialog主题的基础上加以修改<style name="customDialog" parent="Theme.AppCompat.Dialog"><item name="android:windowFrame">@null</item>               <!--取消默认Dialog的windowFrame框--><item name="android:windowNoTitle">true</item>              <!--设置无标题Dialog--><item name="android:backgroundDimEnabled">true</item>       <!--是否四周变暗--><item name="android:windowIsFloating">true</item>           <!-- 是否悬浮在activity上 --><item name="android:windowContentOverlay">@null</item>      <!--取消默认ContentOverlay背景 --><item name="android:windowBackground">@android:color/transparent</item> <!--取消window默认背景 不然四角会有黑影--></style>
  • 注:如果一个应用使用了theme,同时应用下的view也使用了style,那么当theme与样式style发生冲突时,style的优先级高于主题。
4,系统自带的常用Theme
android:theme=”@android:style/Theme.Dialog” 将一个Activity显示为能话框模式
android:theme=”@android:style/Theme.NoTitleBar” 不显示应用程序标题栏
android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”不显示应用程序标题栏,并全屏
android:theme=”Theme.Light” 背景为白色
android:theme=”Theme.Light.NoTitleBar” 白色背景并无标题栏
android:theme=”Theme.Light.NoTitleBar.Fullscreen” 白色背景,无标题栏,全屏
android:theme=”Theme.Black” 背景黑色
android:theme=”Theme.Black.NoTitleBar” 黑色背景并无标题栏
android:theme=”Theme.Black.NoTitleBar.Fullscreen” 黑色背景,无标题栏,全屏
android:theme=”Theme.Wallpaper” 用系统桌面为应用程序背景
android:theme=”Theme.Wallpaper.NoTitleBar” 用系统桌面为应用程序背景,且无标题栏
android:theme=”Theme.Wallpaper.NoTitleBar.Fullscreen” 用系统桌面为应用程序背景,无标题栏,全屏
android:theme=”Translucent” 半透明
android:theme=”Theme.Translucent.NoTitleBar” 半透明,无标题,全屏
android:theme=”Theme.Translucent.NoTitleBar.Fullscreen” 半透明,无标题,全屏
android:theme=”Theme.Panel” 半透明,无标题,全屏
android:theme=”Theme.Light.Panel”平板风格显示

 

Android XML资源文件相关: https://blog.csdn.net/cricket_7/category_9540223.html

http://www.ppmy.cn/news/254314.html

相关文章

Android常见的Theme主题

Android常见的Theme主题&#xff1a; android:theme"android:style/Theme.Dialog" //Activity显示为对话框模式android:theme"android:style/Theme.NoTitleBar" //不显示应用程序标题栏android:theme"android:style/Theme.NoTitleBar.Fullscreen"…

Android 系统提供的主题

android.R.style 列举了系统提供的样式主题。 在 xml 文件中&#xff0c;作为属性值使用时&#xff0c;需要将主题名称中的 "_"(短横)改为 .(点)。 ThemeThe default theme for apps on API level 10 and lower.Theme_BlackVariant on Theme that ensures the backg…

android样式和主题

样式(Style)是用来指定View或者window的外观和格式的一组属性集合。可以用来指定高度、内边距、字体颜色、字体大小、背景颜色等属性。样式定义在独立于布局文件的XML文件中。保证了内容和设计的独立性。 例如 <TextViewandroid:layout_width"fill_parent"andro…

Android风格与主题(style and theme)

Android xml风格和主题文件的编写&#xff0c;是涉及到整个程序界面美观的因素之一。较好的应用风格和主题&#xff0c;可以实现美观而统一的界面&#xff0c;这就犹如Web开发中的CSS。 Styles和Themes都是资源&#xff0c;存放在res/values 文件夹下。 什么是Style&#xff0…

android笔记:安卓自带的主题android:theme

• android:theme"android:style/Theme.Dialog" 将一个Activity显示为能话框模式 • android:theme"android:style/Theme.NoTitleBar" 不显示应用程序标题栏 • android:theme"android:style/Theme.NoTitleBar.Fullscreen" 不显示应用程序标…

Android 主题 application theme

android:theme"Theme.Light ": 背景白色 android:theme"Theme.Black" : 背景黑色 android:theme"Theme.Panel ": 面板风格显示 android:theme"Theme.Light.Panel" : 平板风格显示 android:theme"Theme.Light.NoTitleBar" :…

Android theme

1.主题theme theme是应用的主题&#xff0c;或者说风格。通过设置主题可以改变应用的相关皮肤。 一般主题作用于整个应用&#xff0c;即对应的是application&#xff0c;但有时候部分界面需要特殊的处理&#xff0c;比如为一个特定的activity设置一个单独的皮肤。 <appli…

安卓手机主题软件_超小型软件,安卓手机必备

点击上方“软件严选”&#xff0c;设为星标 黑科技软件&#xff0c;第一时间送达 全能老司机已改名为软件严选&#xff0c;依旧每天为大家提供黑科技严选软件~ 由于公众号改版&#xff0c;现在的公众号消息已经不再按照时间顺序排送了。因此小伙伴们就很容易错过精彩内容。喜欢…