关于 View 设置属性的方式:
Java
xml
style
defStyleAttr
defStyleRes
Theme


关于 defStyleRes 的使用,和在 xml 中声明 style=”@style/*“ 使用是一样的;
Theme 中定义,就是在当前应用使用的 theme 中,方式和 style 中定义的一样,其作用范围是全局的,只要有使用这个属性的地方,value 就是 theme 中定义的;
defStyleRes, defStyleAttr 的作用主要是用于自定义 View 中,想要使用该自定义 View 的地方都是这些属性


defStyleAttr 使用方法一般如下:
attr.xml

1
<attr name="ZTV_def_style" format="reference"/>

style.xml

大专栏  View 属性 class="highlight plain">
1
2
3
4
<style name="AppTheme" parent="Theme.AppCompat.DayNight">
<!-- Customize your theme here. -->
<item name="ZTV_def_style">@style/---</item>
</style>

然后定义你想要指定属性的 style, 再在自定义的 View 中使用 R.attr.ZTV_def_style


这几中方式的优先级:Java > xml > style > defStyleAttr > defStyleRes > Theme
原因可以根据使用的习惯想要,defStyleAttr > defStyleRes 在官方文档中有声明 defStyleRes used only if defStyleAttr is 0 or can not be found in the theme。

View 属性的更多相关文章

  1. Android读取自定义View属性

    Android读取自定义View属性 attrs.xml : <?xml version="1.0" encoding="utf-8"?> < ...

  2. Android 100多个Styles快速开发布局XML,一行搞定View属性,一键统一配置UI...

    Android开发中大量使用XML代码作为界面的布局,使用styles能大幅精简XML代码. 比如下面这个界面从AlertDialog至PlacePickerWindow有19个样式相同的跳转Item ...

  3. android 自定义View属性

    在android开发过程中,用到系统的View时候可以通过XML来定义一些View的属性.比如ImageView:   android:src  和android:scaleType为ImageVie ...

  4. Android 通过Java代码生成创建界面。动态生成View,动态设置View属性。addRules详解

    废话不多说,本文将会层层深入给大家讲解如何动态的生成一个完整的界面. 本文内容: Java代码中动态生成View Java代码中动态设置View的位置,以及其他的属性 LayoutParams详解 一 ...

  5. android自定义view属性

    第一种 /MainActivity/res/values/attrs.xml <?xml version="1.0" encoding="utf-8"?& ...

  6. 【android自己定义控件】自己定义View属性

    1.自己定义View的属性 2.在View的构造方法中获得我们自己定义的属性 3.重写onMesure 4.重写onDraw 3这个步骤不是必须,当然了大部分情况下还是须要重写的. 1.自己定义Vie ...

  7. [转]View属性 之 paddingStart & paddingEnd

    [CAUSE] 在写一个自定义View时, 直接复制了Android-Source的XML布局文件, 默认开发SDK版本是4.2.2(Level-API-17), 后因其他原因将SDK版本改为4.1. ...

  8. andorid 自定义view属性declare-styleable

    1. reference:参考某一资源ID. (1)属性定义: <declare-styleable name = "名称"> <attr name = &quo ...

  9. android开发_view和view属性

    一.view视图的宽度和高度属性,属性值:固定和浮动两种状态 1属性为固定值 <View android:layout_width="30dp" android:layout ...

随机推荐

  1. fread 和fgets 函数的使用

    两个函数都是对FILE *fp 文件进行读取信息,fgets是每次读取一行,fread是一下子读完所有的文件内容. //一.fread的使用 FILE *fp; int nread; ] fp = f ...

  2. 好看的UI组合,为以后自己写组件库做准备

    1. 黑色格子背景 { color: rgb(255, 255, 255); text-shadow: 1px 1px 0 rgba(0,0,0,.3); rgb(62, 64, 74); backg ...

  3. 吴裕雄--天生自然 PYTHON3开发学习:集合

    fruits = {"apple", "banana", "cherry"} fruits.add("orange") ...

  4. Django数据库查询优化-事务-图书管理系统的搭建

    数据库查询优化 优化:虽然减轻了数据库的压力,但查询速度大大的减慢 ORM内所有的语句操作,默认都是惰性查询,只有你在真正的需要数据的时候才会走数据, 如果你只是写ORM语句时,是不会走数据库的,这样 ...

  5. C3D使用指南

    C3D GitHub项目地址:https://github.com/facebook/C3D C3D 官方用户指南:https://goo.gl/k2SnLY 1. C3D特征提取 1.1 命令参数介 ...

  6. 系统学习Javaweb5----JavaScript1

    注意:java和JavaScript没有半毛钱关系!!! 说明:过年歇着歇着不知不觉就歇了七天,嘿嘿,从今天开始继续学习. 学习笔记: 1.JavaScript概述. 1.1.JavaScript是什 ...

  7. IP命令介绍

    ip指令可以显示或操作路由.网络设备.设置路由策略和通道 1.语法 ip [选项]  Object  COMMAND [help] Object对象可以是: link  网络设备.addr 设备的协议 ...

  8. DjangoBlog部署教程

    本篇文章将会手把手教你如何部署DjangoBlog项目,首先介绍下我这里的基本环境,请大家仔细阅读此部分,下面的教程都会使用这些约定来介绍: 系统是ubuntu 18.04 LTS 假设你的域名是ww ...

  9. vue 起步(一)

    准备 安装nodejs(下载),Windows 安装包(.msi) npm相关 打开cmd查看npm版本, npm -v,如果没有安装npm,执行npm install npm -g进行安装 查询当前 ...

  10. XGBoost使用篇(未完成)

    1.截止到本文(20191104)sklearn没有集成xgboost算法,需要单独安装xgboost库,然后导入使用 xgboost官网安装说明 Pre-built binary wheel for ...