android自定义控件找不到属性

Posted by AlstonWilliams on February 17, 2019

用Android开发,为了重用,少不了自定义组件.这类教程网上不少,这里就不说了.

这里说另一个问题,就是在xml文件中使用自定义控件时,找不到属性的问题.如果你把自定义组件放在com.projecthome.meizhuang.Component包中,然后通过下面的代码来引用它:

<com.projecthome.meizhuang.Component.UpDownItem
         xmlns:customNS="http://schemas.android.com/apk/lib/com.projecthome.meizhuang.Component"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       customNS:up_text="1"
       customNS:down_text="关注"/>

那你就踩了这个雷了.

这里要使用自定义组件,命名空间那里应该写的是http://schemas.android.com/apk/lib/rootpackagerootpackage指的是AndroidManifest文件中,****,这部分中的**package**对应的内容,我这里是**com.project.meizhuang**.所以将上面你的代码改成下面这种形式就对了:

<com.projecthome.meizhuang.Component.UpDownItem
         xmlns:customNS="http://schemas.android.com/apk/lib/com.projecthome.meizhuang"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       customNS:up_text="1"
       customNS:down_text="关注"/>