java – 为什么我们需要使用Context.obtainStyledAttributes和declare-styleable来获取GUI组件的属性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 为什么我们需要使用Context.obtainStyledAttributes和declare-styleable来获取GUI组件的属性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1322字,纯文字阅读大概需要2分钟。
内容图文
![java – 为什么我们需要使用Context.obtainStyledAttributes和declare-styleable来获取GUI组件的属性](/upload/InfoBanner/zyjiaocheng/798/0bb3cfa7155f49c396ec840cab9e5ec5.jpg)
我刚刚看到一些教程代码示例,它们使用XML中的declare-styleable和Java代码中的Context.obtainStyledAttributes.
我的理解是,它试图获得GUI组件的属性(如背景颜色).
我想知道,为什么我们需要通过这些繁琐的步骤来获得一个简单的属性?如果我想每次都检索GUI组件属性,我必须创建一个新的XML文件,并将我想要检索的属性添加到XML文件本身.我们能有更简单的东西吗?
目前,当我尝试获取GUI组件的属性时,我需要执行此操作.
http://developer.android.com/resources/tutorials/views/hello-gallery.html
创建XML文件.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="HelloGallery">
<attr name="android:galleryItemBackground" />
</declare-styleable>
</resources>
有以下Java代码.
TypedArray a = context.obtainStyledAttributes(R.styleable.HelloGallery);
mGalleryItemBackground = a.getResourceId(
R.styleable.HelloGallery_android_galleryItemBackground, 0);
a.recycle();
我们可以有简单的东西吗?
helloGalleryInstance.getBackground();
与在Swing中一样,这是我通常用来获取GUI组件的属性.这很有趣也很容易.我们可以在Android中使用类似的东西吗?
instaceOfAComponent.getBackground();
解决方法:
实际上,还有更多的东西.使用样式和获取属性的技术是允许自定义组件的使用者使用您为控件定义的XML属性的一种方法.例如,您可以创建具有字幕文本大小属性的TitleWithSubtitle控件.这种技术可以让你从布局XML中获取值.您仍然可以将getSubtitleTextSize()方法添加到控件本身,但这可以用于不同的目的.
内容总结
以上是互联网集市为您收集整理的java – 为什么我们需要使用Context.obtainStyledAttributes和declare-styleable来获取GUI组件的属性全部内容,希望文章能够帮你解决java – 为什么我们需要使用Context.obtainStyledAttributes和declare-styleable来获取GUI组件的属性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。