`
什么都不懂的孩子
  • 浏览: 26718 次
社区版块
存档分类
最新评论

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主题。

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics