只要开始使用android进行开发,并认为与阅读书籍相比,网络研讨会会更好,因为网络研讨会还可以教我一些简单的方法,以及android开发人员在编写代码时是如何思考的,但现在遇到了问题
<CheckedTextView
android:id="@android:id/text1"
android:checkMark="?android:attr/listChoiseIndicatorMultiple"
</>到目前为止,我不理解上面的代码,我看到许多不同的id定义,其中一些是针对资源的,以@resource/name开头,其中一些id定义像@+ id /name,只是为了为组件创建一个新的id,但这次它使用android:id/text1,我不明白它为什么要以这种方式使用它
此外,checkMark的事情让我更加困惑,这些是什么?android:attr/listChoiseIndicatorMultiple的意思是?
你能给我解释一下,给我看一些资源吗?我可以在哪里找到所有这些神奇的属性,这样我下次就可以自己应付了,希望有一天能回答其他新手的问题
非常感谢提前,并将感谢所有的意见。
发布于 2012-05-02 22:15:45
嗯,阅读这些文档对我一直很有帮助:
Android Developer Site
XML Layout specific docs
@android:id/text1只是一种在之前定义了id的情况下使用的格式。当你在其中放一个+,这意味着框架应该创建资源id,如果它还不存在的话。
在布局中定义新视图时使用@+id/thisid是正常的,然后使用@id/thisid从布局的另一部分引用前面提到的视图(例如,在RelativeLayout中,您需要告诉一个小部件位于另一个小部件的下方)。
ID前面的问号表示您希望访问在样式主题中定义的样式属性,而不是对该属性进行硬编码。
发布于 2012-05-02 22:23:38
@android:id/text1当你创建按钮、布局、文本视图等任何android组件时,基本上都会用到它。
但是当你需要任何不同平台通用的外部组件时,比如任何颜色,图像等,你可以将其声明为@resource/name。
实际上没有什么不同,只是要记住一件事,在@android:id/text1中,id只是作为一个类名来工作,它将包含其他对象,如textview,imageview或任何其他对象。
现在,如果你声明了@resource/name,那么在其中,代替id的类名将是资源。实际上,当您在java中使用它时,这些(@android:id/text1)将被转换为对象层次结构。
https://stackoverflow.com/questions/10414357
复制相似问题