我正在修改 Android 终端仿真器程序的源代码,该程序在 main.xml 的线性布局中包含以下令人困惑的 xml 代码:
<com.vtrandal.bluesentry.EmulatorView
android:id="@+id/emulatorView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
/>
此相同的 xml 代码还与 main.xml 一起出现在另一个 xml 文件中,该文件也在/res/layout 中。我可以看到它似乎以使用我的包名称创建的自定义标签开头。但为什么?这怎么可能?为什么会有人想要这样的东西?
最佳答案
当您扩展 View 以创建自定义组件时,您需要一种方法将此对象添加到 xml 布局。您可以使用完整的类名(包括包名)来做到这一点。 link to the dev guide Nicholas 之前发布的帖子对此进行了解释。
该标记内使用的属性可以是用于您正在扩展的 View 的属性,也可以是在新架构中定义的自定义属性。
你可以在这里学习一个很好的教程:http://www.anddev.org/creating_custom_views_-_the_togglebutton-t310.html
关于main.xml 中的 Android 自定义 xml 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6103244/