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

自定义的样式及主题

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

   <TextViewandroid: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>

  调用:

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

 效果如下:

自定义theme:

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

Application中调用:

  <applicationandroid: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的主题赋值,效果如下:

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

转载于:https://www.cnblogs.com/xiaofeixiang/p/4101255.html

Android中样式及主题相关推荐

  1. android设置主题的方法,Android_修改Android App样式风格的方法,android中可以自定义主题和风格 - phpStudy...

    修改Android App样式风格的方法 android中可以自定义主题和风格.风格,也就是style,我们可以将一些统一的属性拿出来,比方说,长,宽,字体大小,字体颜色等等.可以在res/value ...

  2. Android 用户界面---样式和主题(Styles and Themes)(二)

    样式属性 理解了样式是如何定义的之后,就需要学习<item>元素都定义了那些有效的样式属性类型.你可能已经熟悉了像layout_width和textColor属性,但是还有更多的可以使用的 ...

  3. android中样式文件步骤,详解Android主题开发的样式教程

    Android中的样式和css样式作用相似,都是用于为界面元素定义显示风格,它是一个包含一个或者多个view 控件属性的集合.主题是一个包含一种或者多种格式化属性的集合,你可以将其为一个单位用在应用中 ...

  4. android colorstatelist_Android 样式系统 | 主题背景属性

    在 Android 样式系统系列的前几篇文章中,我们介绍了主题背景与样式的区别,以及为什么说通过主题背景和公共主题背景属性来分解您要实现的内容是一个不错的主意,请点击链接回顾: Android 样式系 ...

  5. android中的样式和主题

    有的时候我们一个页面要用很多个textview,而且这些textview的样式非常相像,这种情况下我们可以把这些样式抽取出来,然后在每个textview中引用即可,这样修改起来也方便. 我们来看一个简 ...

  6. Android中Theme主题和Style样式使用介绍总结

    1.Theme主题 1.1.Theme主题作用范围 Theme主要是针对应用级别的或者说窗体级别,可以设置应用主题(应用换肤效果)和Activity的主题:主题是不能应用在某一个单独的View中:或者 ...

  7. android学习笔记---50_样式与主题,给控件使用样式,给应用使用主题

    50_样式与主题 android学习笔记---50_样式与主题,给控件使用样式,给应用使用主题 2013/5/12 50_样式与主题 ----------------- android样式和主题(st ...

  8. android style(样式)和theme(主题)设置

    android应用程序如何设置样式,包括样式定义.单个view设置样式. 全局样式设置.样式继承关系. 1.样式定义 android的样式定义在res/values/style.xml文件中,类似we ...

  9. Android从零开始:创建样式和主题

    作为Android开发人员,我们倾向于主要专注于应用程序的功能. 但是,仅凭功能性是远远不够的. 在如今托管了超过一百万个应用程序的Google Play上,外观与功能同等重要,甚至更多. 如果您觉得 ...

最新文章

  1. 如何用Python做Web开发?——Django环境配置
  2. 基于注解的 IOC 配置——创建对象(Component、Controller、Service、Repository)注入数据(Autowired、Qualifier、Resource、Value)
  3. python2.7 跨文件全局变量的方法
  4. 孩子大了真是不好管了
  5. linux centos7安装ngix,centos7 环境下安装nginx--Linux
  6. linux命令查看磁盘使用情况,linux查看磁盘使用情况命令
  7. html app效果图,app端效果图.html
  8. opkg-utils的PKGBUILD文件,参考自OE的opkg-utils_git.bb
  9. c++ socket线程池_Netty(3)——Reactor线程模型
  10. mysql connectors层_mysql底层工作原理
  11. 如何把windowsXP系统主题成Windows7风格windowsxp主题包
  12. Solidworks默认模板无效问题?修改字体问题
  13. 公众号添加百度网盘链接
  14. 天意PE维护系统 V2021.7.16版
  15. ZOJ 1516 Uncle Tom's Inherited Land
  16. readelf, nm
  17. 网络安全行业与就业-网络安全事件分类
  18. 马库斯批判Hinton、吴恩达、LeCun等煽风点火!炒作将带来AI寒冬
  19. 高精密应变片0.01g信号采集方案分享
  20. 存储器读写c语言程序,单片机IIC接口存储器AT24C04的读写和显示程序(详细注释)...

热门文章

  1. 交叉编译Python-2.7.13到ARM(aarch32)平台
  2. 一起学JUCE之HashMap
  3. 布局new操作符引发的有关析构函数的探索与总结
  4. error: [FabricCAClientService.js]: Failed to enroll admin, error:%o message=Calling enroll endpoint
  5. PHP学习之路之在windows7 32位安装wampserver
  6. ServletContext对象、ServletConfig对象
  7. Java默认值规则——各种数据类型的初试值是什么?
  8. mysql哈希索引 kv_mysql8 参考手册--B树和哈希索引的比较
  9. python时间序列滞后命令,时间序列-相关性和滞后时间
  10. 预安装CentOS6.5,虚拟机VMware Workstation12配置