当前位置: 代码迷 >> Android >> Android安卓 style(式样) 主题(Theme) 设置
  详细解决方案

Android安卓 style(式样) 主题(Theme) 设置

热度:907   发布时间:2016-04-28 04:24:03.0
Android安卓 style(样式) 主题(Theme) 设置

? ? ? 安卓的style(样式) 和主题(Theme) 是安卓界面设置的重要部分,个人觉得安卓的开发比JavaPC软件更加灵活,但是也更加麻烦,安卓的样式在本工程项目res / values / style.xml 文件中,样式文件可以让你自定义自己组建的样式,也可以定义全家组件的样式,比如,设置透明,设置字体颜色,设置程序没有状态栏,背景色等等,功能很强大,大多数有关于组建外观的,都可以用style设置,还不知道可不可以设置多个style.xml文件,但是我觉得有一个文件足够,虽然我的等级还没到大神的地步,也不太清楚,下面来介绍如何设置全局组件和局部组件样式

?

?

? ? ? ?1. 全局样式(Theme):

? ? ? ??<!-- 全局字体样式-->

? ? ?<style name="DefaultFontStyle">?
??????? <item name="android:textSize">18px</item>
??????? <item name="android:textColor">#0000CC</item>
??? </style>
????<!-- name属性就是这个style的名字 -->


??? <!-- 全局背景色-->
??? <style name="DefaultBgColor" parent="@style/DefaultFontStyle">?
??????? <item name="android:background">#F2F2F2</item>
??? </style>
????<!-- parent是代表继承的style样式,系统已经给定义了很多默认的样式我们可以直接用 -->

?


??? <!-- 全局样式-->
??? <style name="DefaultStyle" parent="@style/DefaultBgColor">?
??? </style>

?

?

?

? ? ? 2. 局部样式:

?

? ? ?<style name="MyImageView" >

? ? ? ? <item name="android:windowBackground">@android:color/transparent</item>

? ? </style>

? ? <!-- 设置透明 -->

? ? <style name="MyButtonStyle">

? ? ? ? <item name="android:background">@android:color/transparent</item>

? ? </style>

?


这里在style文件中定义自己的ImageView和Button样式,然后我我们在写Activity 文件组件要用到的时候就这样引用它:

?

? ? ? ?<ImageView

? ? ? ? android:id="@+id/imageView2"

? ? ? ? style="@style/MyImageView"

? ? ? ? android:layout_width="wrap_content"

? ? ? ? android:layout_height="fill_parent"

? ? ? ? android:src="@drawable/titlecard3" />

?


当然也可以对单个Activity进行设置,这个时候我们就要在本工程的根目录下的 ?AndroidManifest.xml ?文件中写了,这个文件包含了本安卓应用所有注册了的 Activity,方法如下:

? ? ??<activity android:name=".AccountManageActivity"

????? android:theme="@style/DefaultStyle">

?

关于继承样式:

? ? ? ??如果一个TextView自己设置了样式,它的ViewGroup设置了样式,activity设置了主题,application设置了主题,那么到底是通过怎么一个顺序来应用这些样式呢?

?

? ? ? ? ?它会先读取自己样式的值,对于自己没有的样式向上查找第一个找到的值即为要采取的值。依次读取的顺序为View自己的样式->上一层ViewGroup的属性值->上上层ViewGroup的属性值->…->activity主题->activity主题。

?

?

?

?

?

?

?

?

?