2

我按照指南ListView为我的应用程序进行自定义。本教程使用名为 ottasee 的命名空间,应将其定义为元素内的 xml 命名空间。所以这是我的一些代码:

 <com.my.app.Layout.CustomListView
            xmlns:ottasee="what_should_i_put_here?"
            android:id="@+id/lastCases"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:divider="@null"
            android:scrollbars="none"
            ottasee:dropShadowBottom="true"
            ottasee:dropshadowrightsrc="@drawable/drop_shadow"
            />

我可以在 values 文件夹中看到属性ottasee:dropShadowBottomottasee:dropshadowrightsrc是我的一部分。attrs.xml像这样:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
 <declare-styleable name="DropShadowListView">
     <attr format="boolean" name="dropShadowLeft"></attr>
     <attr format="reference" name="dropShadowLeftSrc"></attr>
     <attr format="boolean" name="dropShadowRight"></attr>
     <attr format="reference" name="dropShadowRightSrc"></attr>
     <attr format="boolean" name="dropShadowTop"></attr>
     <attr format="reference" name="dropShadowTopSrc"></attr>
     <attr format="boolean" name="dropShadowBottom"></attr>
     <attr format="reference" name="dropShadowBottomSrc"></attr>
 </declare-styleable>
</resources>

ListView为了从文件中获取属性,我应该如何定义 xml 命名空间attrs.xml

谢谢!

编辑

我的 CustomListView 在包下com.my.app.Layout,我尝试以这种方式声明 ns:xmlns:ottasee="http://schemas.android.com/apk/res/com.my.app.Layout

但我只在我的 xml 文件中得到一个错误:

Multiple annotations found at this line:
    - error: No resource identifier found for attribute 'dropShadowBottom' in package 
     'com.my.app.Layout'
    - error: No resource identifier found for attribute 'dropshadowrightsrc' in package 
     'com.my.app.Layout'

我怎样才能完成设置正确的ns?

4

2 回答 2

2

您应该添加以下内容以将必要的属性包含到您的命名空间中: xmlns:ottasee ="http://schemas.android.com/apk/res-auto"

与@budius 的回答略有不同,因为它会为您自动解析包名称。

于 2013-01-10T10:04:48.547 回答
1

通常 XML 编辑器会为您完成,我什至从不担心,但就是这样:

xmlns:ottasee="http://schemas.android.com/apk/res/com.your.package.name"
于 2013-01-10T09:40:10.060 回答