0

在 Android 中创建具有属性的自定义元素时,我需要将应用程序的命名空间放在布局中。

例如:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:whatever="http://schemas.android.com/apk/res/org.example.mypackage"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">

    <org.example.mypackage.MyCustomView
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:gravity="center"
      whatever:my_custom_attribute="Hello, world!" />
</LinearLayout>

这是否还要求我在 Eclipse 中的项目结构与清单中定义的 Android 包的名称相同 - 根据示例?这也可以吗:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:whatever="http://schemas.android.com/apk/res/org.mycompany.myproduct"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">

    <org.example.mypackage.MyCustomView
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:gravity="center"
      whatever:my_custom_attribute="Hello, world!" />
</LinearLayout>
4

1 回答 1

1

它应该反映您的应用程序的包名称。所以像你一样使用它是正确的。

例如:

最后xmlns:whatever="http://schemas.android.com/apk/res/org.mycompany.myproduct一部分org.mycompany.myproduct应该和你的包名一样。并且您可以更改xmlns:whatever为任何类似的内容,xmlns:theblitz但请确保您确实theblitz在 xml.xml 中用作属性的前缀。

有关更多信息,请阅读

于 2012-05-13T10:29:17.897 回答