如何在Android axml文件中为自定义控件定义默认命名空间?

时间:2015-03-02 17:48:04

标签: android xml xamarin xamarin.android

我有很多带有自定义控件的axml文件。此控件在myapp.xxx命名空间中定义。所以,我的axml文件看起来像:

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:local="http://schemas.android.com/apk/res-auto"
         android:orientation="vertical"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent">
             <myapp.xxx.CustomControl
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    ...
             />
    </ScrollView>

现在我想使用没有命名空间的控件,例如:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:local="http://schemas.android.com/apk/res-auto"
     android:orientation="vertical"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent">
         <CustomControl
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                ...
         />
</ScrollView>

但是,当app呈现此布局时,我有一个例外:

android.view.InflateException: Binary XML file line #1: Error inflating class CustomControl

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用名称或类标记的引用自定义控制器

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:local="http://schemas.android.com/apk/res-auto"
     android:orientation="vertical"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent">
         <CustomControl
                class="myapp.xxx.CustomControl"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                ...
         />
</ScrollView>