Theme

本文探讨了Web开发中Theme与Skin的概念及其应用。作者通过实际案例解释了如何利用CSS来实现不同主题风格的切换,并提出了自己对Theme和Skin的理解。
关于theme和skin,没仔细研究过,感觉熟悉WEB标准后,似乎没多大作用。
所有表现都写进样式表中,甚至控件的CSS也无需指定CssClass,只要你了解生成后的HTML代码即可。
例如:
<div class="formarea"><asp:TextBox id="abc" runat="server" .... /></div>

在CSS中设定(三种):
input{....}——全局
.formarea input{....}——部分
#abc{....}——私有

对于skin和theme,我是这么做的
theme的变量设定为css目录
skin的变量设定为css文件
例如:
[style]
----[default2004]——目录名,设定变量,对应theme
--------[image]
--------layout.css——布局样式固(所谓THEME,就是相同布局不同配色和图片)
--------skin_red.css——文件名,设定变量,对应skin
--------skin_blue.css
----[default2005]
--------[image]
--------layout.css
--------skin_red.css

我觉得这样已经能够很好的控制各种表现了,做好CSS文件的分离就好,代码也利于控制。不清楚VS的skin和theme是怎么一回事,没去研究也没用过,呵呵。  
03-11
### 关于 Theme 的概念 Theme 是 Android 应用程序中的一个重要组成部分,用于定义应用程序的整体外观和风格。通过设置主题,可以统一控制应用内的颜色、字体样式以及其他视觉属性[^1]。 在 `res/values/styles.xml` 文件中定义的主题资源能够被整个应用程序或者特定 Activity 使用。当一个主题应用于某个组件时,它会自动将该主题所指定的一系列属性应用到这个组件上。 对于继承自 `AppCompatActivity` 的活动,默认情况下会使用一种名为 AppCompat 的主题来提供向后兼容性和一致性体验。这种主题不仅包含了现代 Material Design 风格的设计元素,还确保了不同版本设备间一致性的用户体验。 #### 定义并应用自定义主题 为了创建一个新的主题,在项目的 `styles.xml` 文件里添加一段类似于下面的内容: ```xml <style name="CustomTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> ``` 上述代码片段展示了如何基于现有的 `Theme.AppCompat.Light.DarkActionBar` 创建一个叫做 CustomTheme 的新主题,并设置了几个重要的颜色属性。 要让应用程序或某一部分采用此自定义主题,则可以在 `AndroidManifest.xml` 或者布局文件中声明相应的主题名称即可实现更改全局或局部样式的功能需求。 #### 修改默认主题配置 如果希望修改由 Android Studio 自动生成的应用栏及其关联的主题设置,可以通过编辑 `themes.xml` (API level 21 及以上) 或 `values-v21/themes.xml` 下的相关条目来进行调整。例如改变状态栏的颜色或其他 UI 组件的表现形式等操作都可以在此处完成定制化工作。 ```xml <!-- Base application theme. --> <style name="Theme.MyApplication" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> <!-- Primary brand color. --> <item name="colorPrimary">@color/purple_500</item> <item name="colorPrimaryVariant">@color/purple_700</item> <item name="colorOnPrimary">@color/white</item> ... </style> ``` 这段 XML 展现了一个更复杂的例子,其中引入了一些新的色彩变量以及采用了不同的父级主题——Material Components 来构建更加丰富的界面效果。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值