Android Theme和Style区别联系

本文深入探讨了Android开发中Theme和Style资源的使用方式、作用及区别,详细介绍了它们如何影响应用程序的外观和行为,包括背景设置、窗口透明度控制等,并解释了如何在不同场景下灵活运用这些资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Theme 和Style资源,将一些通用的属性提取出来,方便使用。


相同:

Theme和Style位于values文件夹下styles.xml下,格式相同。

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <style name="MyTransparent">  
  2.     <item name="android:windowBackground">@color/transparent_background</item>  
  3.     <item name="android:windowIsTranslucent">true</item>  
  4.     <item name="android:windowNoTitle">true</item>  
  5. </style>  

<item name="android:windowNoTitle">?android:windowIsTranslucent</item>其中 问号表示引用本主题中已经定义过的资源的值。


在需要使用的时候调用

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <EditText  
  2.            android:id="@+id/nameEdit"  
  3.        <span style="color:#ff0000;">    style="@style/LoginOrRegisterEditStyle"</span>  
  4.            android:hint="@string/input_real_name"  
  5.            android:layout_below="@id/tipHead"  
  6.            android:layout_marginTop="20dp" />  

不同:

Theme在AndroidManifest.xml中德Application节点或者Activity节点设置android:theme,或者在对应Activity中通过代码设置setTheme(),影响整个应用或者一个Activity.

Style一般是在布局中的View中设置。影响单个View,如EditText,TextView等等。


如果主题和样式属性有冲突,样式的属性高于主题。


如果需要使用系统自带的主题


[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. android:theme=<span style="color:#ff0000;">"@android:style</span>/Theme.Light.NoTitleBar"  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值