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,记得好评和采纳,互相帮助,谢谢。

gcorelabs远东khabarovsk伯力Cloud云服务器测评,告诉你gcorelabs云服务器怎么样

说明一下:gcorelabs的俄罗斯远东机房“伯力”既有“Virtual servers”也有“CLOUD SERVICES”,前者是VPS,后者是云服务器,不是一回事;由于平日大家习惯把VPS和云服务器当做一回事儿,所以这里要特别说明一下。本次测评的是gcorelabs的cloud,也就是云服务器。 官方网站:https://gcorelabs.com 支持:数字加密货币、信用卡、PayPal...

inlicloud48元/月,云主机,2核1G/200Mbps,可选安徽/上海联通/广州移动/江门移动NAT

inlicloud怎么样?inlicloud(引力主机)主要产品为国内NAT系列VPS,目前主要有:上海联通NAT(200Mbps带宽)、宿州联通NAT(200Mbps带宽)、广州移动NAT(200Mbps带宽)。根据官方的说法国内的NAT系列VPS不要求备案、不要求实名、对中转要求也不严格,但是,禁止任何形式的回国!安徽nat/上海联通/广州移动/江门移动nat云主机,2核1G/200Mbps仅...

老周互联24小时无理由退款,香港原生IP,28元起

老周互联怎么样?老周互联隶属于老周网络科技部旗下,创立于2019年12月份,是一家具有代表性的国人商家。目前主营的产品有云服务器,裸金属服务器。创办一年多以来,我们一直坚持以口碑至上,服务宗旨为理念,为用户提供7*24小时的轮班服务,目前已有上千多家中小型站长选择我们!服务宗旨:老周互联提供7*24小时轮流值班客服,用户24小时内咨询问题可提交工单,我们会在30分钟内为您快速解答!另免费部署服务器...

declare styleable为你推荐
苹果退款苹果付费软件怎么退款seasonalseasonal greetings中文什么意思blastpBLAST有什么用?为什么要BLAST?密码设置电脑怎么设置密码linux安装教程怎么装LINUX的系统....vrrp配置INTERNET协议属性里面的备用配置有什么用?spinmaster街球名人都有哪些空间图片qq空间图片免杀远控求一款好使(免杀)远程控制软件?无线呼叫系统无线呼叫对讲器系统哪个牌子好?
1g虚拟主机 免费试用vps qq云存储 enom lunarpages 息壤备案 12u机柜尺寸 新站长网 国外php空间 刀片服务器是什么 七夕促销 刀片式服务器 世界测速 上海联通宽带测速 双线asp空间 西安服务器托管 英雄联盟台服官网 个人免费邮箱 lamp怎么读 深圳域名 更多