declare styleableAndroid中declare-styleable和style的不同

declare styleable  时间:2022-02-27  阅读:()

Android 中 declare-styleable 和 style 的不同

我们注意到上文中的CodeFont的定义,有没有发现item里面的name都是android开头?因为这些属性都是在android中预先设定好的,所以我们可以随意用。但是如果我们想用自己定义的属性名呢?这时候styleable的作用就出现了。我们只需要把attr的定义包围在styleable里面,这样定义的属性名就可以在style里面用。示例如下(示例来自上文给出的stackoverflow链接): <?xml version="1.0" encoding="utf-8"?> <resources> <attr name="attrib1" format="string" /> <declare-styleable name="blahblah"> <attr name="attrib2" format="string" /> </declare-styleable> 在attrs.xml里面定义了两个attr,attrib1是普通的,attrib2包围在declare-styleable标签中; &.custom.ViewClass attrib1="xyz" attrib2="abc"/> 我们可以在layout/someactivity.xml里直接使用这些attr; <style name="customstyle" parent="@android:style/Widget.TextView"> <item name="attrib2">text value</item> <!-- customize other, standard attributes too: --> <item name="android:textColor">@color/white</item> </style> 在styles.xml中,我们就能用attrib2。(原网站这里写成了attrib1,怀疑是笔误。) 后来我验证过attrib1也能使用在style里面(我真的不确定,逻辑上应该不能才对,但是编译就是通过了。。。),那么这里就必须说明attr包不包含在styleable里面的另一个主要区别了,stackoverflow中是这么说的:

怎么使用declare-styleable标签?

为什么在Eclipse中敲这个【declare-styleable 】 标签是没有代码提示呢

Android中declare-styleable和style的不同

给出了一个例子我觉得很说明问题。 如果我们需要定义很多个这样的TextView: <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#00FF00" android:typeface="monospace" android:text="@string/hello" /> 为了便于修改,我们可以修改成这样: <TextView style="@style/CodeFont" android:text="@string/hello" /> ~如果你认可我的回答,请及时点击【采纳为满意回答】按钮 ~~手机提问的朋友在客户端右上角评价点【满意】即可。 ~你的采纳是我前进的动力 ~~O(∩_∩)O,记得好评和采纳,互相帮助,谢谢。

IMIDC日本多IP服务器$88/月起,E3-123x/16GB/512G SSD/30M带宽

IMIDC是一家香港本土运营商,商家名为彩虹数据(Rainbow Cloud),全线产品自营,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非等地机房,CN2网络直连到中国大陆。目前主机商针对日本独立服务器做促销活动,而且提供/28 IPv4,国内直连带宽优惠后每月仅88美元起。JP Multiple IP Customize...

数脉科技8月促销,新客减400港币,BGP、CN2+BGP、阿里云线路低至350元

数脉科技(shuhost)8月促销:香港独立服务器,自营BGP、CN2+BGP、阿里云线路,新客立减400港币/月,老用户按照优惠码减免!香港服务器带宽可选10Mbps、30Mbps、50Mbps、100Mbps带宽,支持中文本Windows、Linux等系统。官方网站:https://www.shuhost.com* 更大带宽可在选购时选择同样享受优惠。* 目前仅提供HKBGP、阿里云产品,香港...

Dataideas:$1.5/月KVM-1GB/10G SSD/无限流量/休斯顿(德州)_主机域名

Dataideas是一家2019年成立的国外VPS主机商,提供基于KVM架构的VPS主机,数据中心在美国得克萨斯州休斯敦,主机分为三个系列:AMD Ryzen系列、Intel Xeon系列、大硬盘系列,同时每个系列又分为共享CPU和独立CPU系列,最低每月1.5美元起。不过需要注意,这家没有主页,你直接访问根域名是空白页的,还好他们的所有套餐支持月付,相对风险较低。下面以Intel Xeon系列共...

declare styleable为你推荐
百度云论坛哪里需要资源网盘分流?论坛、网站介绍一个……免费erp如何有效的去使用一款免费的ERPucosiiucosii是什么?里面的OS是指什么?在看正点原子给的stm32f407开发指南的时候看到这个,什么意思?wizardry霍格沃茨学校在哪里?实数的定义实数的概念是什么,实数包括0吗?局域网ip扫描工具局域网的IP段怎么扫描蓝牙开发android 蓝牙开发 ble 难吗rs485协议HART modbus profibus 这三种协议有什么区别?这几种协议都是干什么用的?赵锡成福茂航运公司的英文是什么?充值卡充值充值卡怎么充值游戏
虚拟主机评测 手机域名注册 远程登陆工具 警告本网站 老左正传 空间合租 中国电信宽带测速网 优酷黄金会员账号共享 沈阳主机托管 谷歌台湾 photobucket 万网空间 脚本大全 windows2008 删除域名 asp.net虚拟主机 easypanel 热云 vi命令 vim命令 更多