一、Selector——图形、颜色选择器
语法
<selector>
  <item android:drawable=“drawableResA” android:state_xxxxx=“true”/>
<item android:drawable=“drawableResB” android:state_xxxxx=“false”/>
<selector>
<selector>
  <item android:color=“drawableResA” android:state_xxxxx=“true”/>
  <item android:color=“drawableResB” android:state_xxxxx=“false”/>
<selector>
例:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 
<!-- android:state_pressed=""按下-->
<item android:drawable="@mipmap/bar_1_select" android:state_checked="true"/>
<item android:drawable="@mipmap/bar_1_unselect" android:state_checked="false"/>
</selector效果图:
 
二、常用的styles.xml修改和设置

<resources>

    <style name="sss" parent="@android:style/Theme.Holo.Light.Dialog"></style>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<!--标题栏-->
<item name="colorPrimary">@color/colorPrimary</item>
<!--状态栏-->
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<!--系统中,子空间,复选框,单选按钮,选中时的颜色-->
<item name="colorAccent">@color/colorAccent</item> <!--窗体的背景色-->
<item name="android:windowBackground">@android:color/white</item> <!--窗体无标题栏-->
<item name="windowNoTitle">true</item>
<!--无actionbar-->
<item name="windowActionBar">false</item>
<!--取消状态栏,也就是全屏显示-->
<item name="android:windowFullscreen">true</item>
</style> <!--需要注意的是,不能有空格,值不用引号-->
<style name="bottom_bar_rb">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">match_parent</item>
<item name="android:layout_marginTop">5dp</item>
<item name="android:layout_marginBottom">5dp</item>
<item name="android:gravity">center</item>
<item name="android:layout_weight">1</item>
<item name="android:button">@null</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:textSize">14sp</item>
<item name="android:textColor">@color/selector_bar_font_1</item>
</style>
</resources>
二、常用的styles.xml修改和设置
Style——样式
样式就是各种属性的集合。当控件需要使用这些属性时,就可以直接使用这个集合来获得这些属性的
样式分为对控件的样式和对整个应用或Activity的样式,对整个应用或Activity的样式我们有称其为主题(Theme)
语法:
声明:
在values文件夹中
<style name=“styleName” parent=“extends”>
<item name=“paramsName”>value</item>
</style>
使用:
控件的style属性引用  style=“styleName”(布局页面)
三、Attribute
Attribute是位于values文件夹下的一种android资源,通常使用名称为attrs的xml资源文件来声明。可以作为自定义控件的自定义属性,也可以作为根据主题自动选择值的一种资源值。
 
用法:
作为可变资源
声明
<resource>
  <attr name=“attr-name” format=“format-type”/>
</resource>
赋值
<style name=“xx”>
  <item name=“attr-name”>value</item>
</style>
 
例:values文件夹下的,attrs.xml文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--注意不能和已有的重名,不会会有异常-->
<attr name="bg" format="color"/>
<!--格式为引用-->
<attr name="radioButtonStyle" format="reference"/>
</resources>
引用的时候:
android:background="?attr/bg">
具体代码,Layoutwork
四、Shape——图形
用来实现一些简单的图片,可控制图片的图形、颜色、边框圆角等。占用空间小,还可以适应不同大小的尺寸,不发生形变。
用法:
声明在drawable文件夹下
<shape xmlns:android="http://schemas.android.com/apk/res/android"
      android:shape=["rectangle" | "oval" | "line" | "ring"]>
</shape>
shape  图形  rectangle  矩形  line  线  oval  椭圆  ring  环
  
具体的案例:
一、矩形代码:
<?xml version="1.0" encoding="utf-8"?>
<!--默认矩形-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"> <!--纯色-->
<solid android:color="@color/colorAccent"/> <!--圆角-->
<!-- android:radius="100dp"四个角都是圆角-->
<corners
android:bottomLeftRadius="100dp"
android:topRightRadius="100dp"/> <!--边框-->
<!--android:dashWidth="50dp线段长-->
<!--android:dashGap="20dp"线段之间的间隔-->
<stroke
android:width="10dp"
android:color="@color/colorPrimary"
android:dashWidth="50dp"
android:dashGap="20dp"/>
<!--大小-->
<size
android:width="200dp"
android:height="200dp"/> <padding
android:left="20dp"
android:top="20dp"
android:bottom="20dp"
android:right="20dp"/>
<!--渐变-->
<!--默认左右渐变-->
<!--android:centerColor="@color/colorPrimary" 三色渐变-->
<!--渐变类型,默认为linear android:type="linear"-->
<!--注意,这个属性的值只能是45的倍数,并且只能在linear中使用-->
<!--<gradient-->
<!--android:centerColor="@color/colorPrimary"-->
<!--android:startColor="#fff"-->
<!--android:endColor="@color/colorAccent"-->
<!--android:type="linear"-->
<!--android:angle="-90"/>--> <!--android:type="radial" 径向渐变-->
<!--注意必须设置径向渐变半径-->
<!--<gradient-->
<!--android:centerColor="@color/colorPrimary"-->
<!--android:startColor="#fff"-->
<!--android:endColor="@color/colorAccent"-->
<!--android:type="radial"-->
<!--android:gradientRadius="200"-->
<!--android:centerX="0.5"-->
<!--android:centerY="0.3"/>--> <!--扫描线-->
<!--也可以设置中心点,默认是0.5XY-->
<gradient
android:centerColor="@color/colorPrimary"
android:startColor="#fff"
android:endColor="@color/colorerAccent"
android:type="sweep"
android:centerX="0.5"
android:centerY="0.5"/> </shape>
 
二、线代码
 
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<stroke
android:width="3dp"
android:color="@color/colorPrimary"
android:dashGap="20dp"
android:dashWidth="50dp"/>
</shape>
三、椭圆代码                                          
<shape xmlns:android="http://schemas.android.com/apk/res/android"

 android:shape="oval">
<!--这里边的属性都可以使用-->
<solid android:color="@color/colorAccent" />
<!--宽高相等,会变成圆形-->
<size
android:width="50dp"
android:height="200dp" />
</shape>
四、圆环代码                                        
 
<!--环形-->
<!--固定值,好处,固定大小不变,但是不能根据控件大小变化-->
<!--android:innerRadius="" 内环半径 android:thickness="" 环厚度-->
<!--**** android:useLevel="false"必须为false,
默认为true,为false时显示*****-->
<!--比例
android:innerRadiusRatio=""
android:thicknessRatio=""-->
<!--控件的宽度/5,内环的半径 控件的宽度/7,环厚度-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
android:innerRadiusRatio="5"
android:thicknessRatio="7"
android:useLevel="false">
<solid
android:color="@color/colorAccent"/>
</shape>
 

Android样式主题及自定义属性的更多相关文章

  1. Android 样式 (style) 和主题(theme)

    转载:https://gold.xitu.io/post/58441c48c59e0d0056a30bc2 样式和主题 样式是指为 View 或窗口指定外观和格式的属性集合.样式可以指定高度.填充.字 ...

  2. Android 样式和主题(style & theme)

    Android 样式 android中的样式和CSS样式作用相似,都是用于为界面元素定义显示风格,它是一个包含一个或者多个view控件属性的集合.如:需要定义字体的颜色和大小. 在CSS中是这样定义的 ...

  3. Android样式(style)和主题(theme)

    样式和主题 样式是指为 View 或窗口指定外观和格式的属性集合.样式可以指定高度.填充.字体颜色.字号.背景色等许多属性. 样式是在与指定布局的 XML 不同的 XML 资源中进行定义. Andro ...

  4. android中的样式主题和国际化

    一.Android中的样式和主题     1.1样式     样式是作用在控件上的,它是一个包含一个或者多个view控件属性的集合.android style类似网页设计中的css设计思路,可以让设计 ...

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

    http://www.cnblogs.com/zhouyou96/p/5323138.html 总结一下Android中主题(Theme)的正确玩法 在AndroidManifest.xml文件中有& ...

  6. Android 切换主题以及换肤的实现

    Android 切换主题以及换肤的实现 一.介绍 现在市面上有很多 APP 有切换主题和皮肤的功能!特别是阅读类的 APP! 上面两张图分别是 知乎 APP 和Fuubo APP的两张截图!都带有切换 ...

  7. [转]Android样式的开发:shape篇

    转载自Keegan小钢原文链接:http://keeganlee.me/post/android/20150830 Android样式的开发:shape篇Android样式的开发:selector篇A ...

  8. MVC4 jquery 样式 主题 用法(案例)

    MVC4已经自带了jquery,新建的项目,基本上什么都不用添加就可以运行,跑项目.(集成了那么多东西,jquery,modernizr,自带的默认权限,生成的模板,但是缺没有一个统一的文档或者什么去 ...

  9. [置顶] xamarin android自定义标题栏(自定义属性、回调事件)

    自定义控件的基本要求 这篇文章就当是自定义控件入门,看了几篇android关于自定义控件的文章,了解了一下,android自定义控件主要有3种方式: 自绘控件:继承View类,所展示的内容在OnDra ...

随机推荐

  1. JavaScript百宝箱

    Js的外部引用 外部文件中不用添加<script>标签,引用书写位置需在使用之前 <script type="text/javascript" src=" ...

  2. linux性能优化参数小节

    总结一些和性能相关的常见参数 内核相关参数 位于/etc/sysctl.conf文件,向文件中添加 用sysctl -a可以查看默认配置 修改后可以通过sysctl -p执行并看看有没有错误 例如设置 ...

  3. springMVC(2)---获取前段数据

    springMVC(1)---获取前段数据 首先说明,如果你学过Struts2,那么在学springMVC就会简单很多,我也不最基础的开始写了,我前篇文章搭建了个ssm框架,算是springmvc入门 ...

  4. GloVe损失函数的理解

        简介 GloVe是一种非常简单快速的训练词向量的算法.与复杂的word2vec相比,其是一个log双线性模型,仅通过一个简单的损失函数就能够得到很好的结果. (1)J=∑i,jNf(Xi,j) ...

  5. 可以落地的DDD到底长什么样?

    领域驱动设计的概念 ​ 大家都知道软件开发不是一蹴而就的事情,我们不可能在不了解产品(或行业领域)的前提下进行软件开发,在开发前通常需要进行大量的业务知识梳理,然后才能到软件设计的层面,最后才是开发. ...

  6. wap开发中的cookie

    安卓和ios的wap开发,安卓中的cookie可以识别中文,但是ios不能识别,需要转码成通用码(UNICODE),解决办法:直接转成16进制码, escape('测试文字') 友情链接:http:/ ...

  7. linux 常用命令集合-命令导图

    这几天画了几张导图,自己熟悉命令,并记录总结一下,还有很多没写上去,在慢慢完善把. 1.帮助命令 2.文件搜索命令 3.用户管理 4.权限管理 5.文件处理类 6.压缩解压 7.网络配置类 8.关机重 ...

  8. oracle10G/11G官方迅雷下载地址合集

    原文链接:https://blog.csdn.net/zlsunnan/article/details/8058235 ORACLE11GR2 Oracle Database 11g Release ...

  9. 《C#并发编程经典实例》学习笔记-进程(process)和线程(thread)

    本文主要参考自孙钟秀主编的<操作系统教程>一书中关于进程和线程的部分. 进程 为什么引入进程? 一,刻画系统动态性,发挥系统并发性,提高资源利用率. 以C#为例,在编辑器Visual St ...

  10. 【转载】阿里云ECS服务器监控资源使用情况

    在阿里云Ecs服务器运维过程中,无论是Centos系统还是Windows系统,有时候我们需要监控分析最新的服务器资源利用率等运行情况,例如最近3个小时CPU使用率情况.内存使用率.网络流入带宽.网络流 ...