我们想创建一个Android Class Library
来重用一些代码,主要是自定义视图。
我已成功创建并引用了Xamarin.Android项目中的视图。
我唯一遇到的问题是我无法使用declare-styleable
。该视图看起来很好,但无法在custom attributes
中使用XML layout
。
<resources>
<declare-styleable name="MyCustomView">
<attr name="srcLittle" format="reference" />
</declare-styleable>
</resources>
这就是我使用它的方式:
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/res-auto"
[...] >
[...]
<Core.MyCustomView
android:id="@+id/item_proposal_validation_trips_icon"
android:layout_gravity="center"
android:layout_height="48dp"
android:layout_width="48dp"
app:srcLittle="@drawable/ic_plane" /> <-- ERROR
[...]
</android.support.v7.widget.CardView>
XML错误:
&#34; http://schemas.android.com/apk/res/res-auto:srcLittle&#34;属性未声明
编译错误:
1:错误:找不到属性&#39; srcLittle&#39;在包裹&#39; res-auto&#39;
感谢。
答案 0 :(得分:1)
您为布局中的app
前缀定义的命名空间不正确。
xmlns:app="http://schemas.android.com/apk/res/res-auto"
应用程序定义属性的正确命名空间为http://schemas.android.com/apk/res-auto
。你那里有一个额外的res/
。它应该是:
xmlns:app="http://schemas.android.com/apk/res-auto"