Android中样式及主题

Android应用程序中不可避免的需要使用的样式和主题,样式指定一般指定View的高度、字体、字体颜色、背景,Android里的样荐定义在Style.xml文件里。主题也是一种样式,只不过它是应用在整个Activity或application,而不只是View。两者基本相同,最大的区别就是作用的范围不一样。样式针对的是单个的View控件,主题的范围更广,还是直接开始动手写吧.

自定义的样式及主题

最简单新建一个Android项目都会有一个TextView内容是HelloWorld:

   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
        android:text="@string/hello_world" />

 这个时候我们可以将这些属性写在/res/values/styles.xml中新建的样式中:

    <style name="content_mystyle">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">#3A5FCD</item>
        <item name="android:textSize">20sp</item>
    </style>

  调用:

   <TextView
        style="@style/content_mystyle"
        android:text="@string/hello_world" />

 效果如下:

自定义theme:

  <style name="theme_mytheme">
        <item name="android:background">#080808</item>
    </style>

Application中调用:

  <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/theme_mytheme"
         >
.....

效果如下:

 

系统样式和主题扩展

重新定义个Activity,里面只需要方一个ProgressBar就行,上面的样式是常见的,如果像对话框,进度条这种,有些样式自己也不是很明白的话,直接去sdk中找出来重写一下:

如果是修改单个样式直接去styles.xml中找到即可,修改主题的话去themes中找到即可:

ProgressBar原有的样式如下:

  <style name="Widget.ProgressBar">
        <item name="android:indeterminateOnly">true</item>
        <item name="android:indeterminateDrawable">@android:drawable/progress_medium_white</item>
        <item name="android:indeterminateBehavior">repeat</item>
        <item name="android:indeterminateDuration">3500</item>
        <item name="android:minWidth">48dip</item>
        <item name="android:maxWidth">48dip</item>
        <item name="android:minHeight">48dip</item>
        <item name="android:maxHeight">48dip</item>
    </style>

  重写:

 <style name="progressBar_myStyle">
        <item name="android:indeterminateOnly">true</item>
        <item name="android:indeterminateDrawable">@drawable/progress_medium_white</item>
        <item name="android:indeterminateBehavior">repeat</item>
        <item name="android:indeterminateDuration">3500</item>
        <item name="android:minWidth">60dip</item>
        <item name="android:maxWidth">60dip</item>
        <item name="android:minHeight">60dip</item>
        <item name="android:maxHeight">60dip</item>
    </style>

  将progress_medium_white拷贝过来,重写:

代码如下:

<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/ic_launcher"
    android:pivotX="50%"
    android:pivotY="50%"/>

布局中调用

    <ProgressBar
        style="@style/progressBar_myStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

效果如下:

主题的就很简单,定义了两个主题,全屏没有标题:

    <style name="test_NoTitleBar">
        <item name="android:windowFullscreen">true</item>
        <item name="android:background">#FF1493</item>
        <item name="android:windowNoTitle">true</item>
    </style>

       <style name="test_child_NoTitleBar" parent="@style/test_NoTitleBar">
        <item name="android:background">#FF0000</item>
    </style>

 给Activity的主题赋值,效果如下:

周末看博客的都大有可为,大家周末愉快~

时间: 2024-11-06 07:20:56

Android中样式及主题的相关文章

android中样式和自定义button样式

1)自定义button样式 一.采用图片方式 首先新建Android XML文件,类型选Drawable,根结点选selector,自定义一个文件名. 随后,开发环境自动在新建的文件里加了selector结点,我们只需要在selector结点里写上三种状态时显示的背景图片(按下.获取焦点,正常)即可.具体如下: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="

Android中的样式和主题(Styles and Themes)

样式(style),是为一个视图(View)或窗体(window)指定形状和格式的属性集.一个样式能够指定的属性包括高度.内边距.字体颜色.字体大小.背景颜色等等.样式被定义在一个XML资源文件中,跟设置布局的XML资源文件是分开的. Android中样式的设计哲学跟web设计中的CSS(层叠样式表)相似,就是想办法让设计和内容分隔开来. 例如,通过使用样式(style),你可以将下面的XML布局: <TextView android:layout_width="fill_parent&q

Android应用中动态更改主题的实现

在android应用程序中我们可能需要切换模式,如晚上切换到夜间模式便于阅读等.本文参考了网上的一些资料,并结合实例,实现了动态更改主题的效果. Android中实现theme主题可以使用在activity中使用setTheme(int)的方法,SDK中对此方法的说明为: //Set the base theme for this context. Note that this should be called before any views are instantiated in the C

[android] 安卓自定义样式和主题

简单练习自定义样式和主题,样式是加在View上,主题是加在Application或者Activity上 styles.xml <?xml version="1.0" encoding="utf-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 自定义样式 --> <style name=&quo

android中的样式主题和国际化

一.Android中的样式和主题     1.1样式     样式是作用在控件上的,它是一个包含一个或者多个view控件属性的集合.android style类似网页设计中的css设计思路,可以让设计和内容分离,方便继承.复用.重用     下面通过一个简单的案例演示自定义样式的用法,在该案例中,我们自定义一个样式,用于渲染Button控件的显示效果     在res/values/styles.xml文件中添加   <style name="bt_style_1"> &l

Android 样式和主题(style &amp; theme)

Android 样式 android中的样式和CSS样式作用相似,都是用于为界面元素定义显示风格,它是一个包含一个或者多个view控件属性的集合.如:需要定义字体的颜色和大小. 在CSS中是这样定义的: <style> .wu{COLOR:#0000CC;font-size:18px;} </style> 可以像这样使用上面的css样式:<div class="wu">wuyudong‘blog</div> 在Android中可以这样定义

【转载】总结一下Android中主题(Theme)的正确玩法

http://www.cnblogs.com/zhouyou96/p/5323138.html 总结一下Android中主题(Theme)的正确玩法 在AndroidManifest.xml文件中有<application android:theme="@style/AppTheme">,其中的@style/AppTheme是引用的res/values/styles.xml 中的主题样式,也有可能是引用的 res/values-v11/styles.xml 或者 res/v

Android学习随笔之UI美化(一)--------- 样式和主题

1.样式和主题的使用 样式和主题是一样的,都是一系列属性的集合,只是应用的对象不同,样式应用在单个控件上,如果TextView,Button等.主题应用在功能清单文件中的<application>或者<activity>标签上以属性的形式出现,如: <application         theme=”XXX”/> <activity     theme=”XXX”/>   来看一个清单文件: 在这里要明确两点:  1.主题是应用在application或

Android入门——样式主题和自定义属性资源

引言 样式和主题(Styles and Themes)都是用于对Android app 界面进行美化的,与Web开发中的CSS的作用大同小异,只有充分利用样式和主题才能开发出各种风格优秀的app . 一.样式和主题概述 样式(style)是用来Activity元素级别的,改变指定控件或者Layout的外观和格式的一组属性集合.样式可以用来指定高度.填充.自字体大小.背景颜色等等.样式在xml资源文件(res/values/styles.xml)中定义,和指定布局的xml文件是分开的,以达到设计与