我如何设置自定义命名空间在Android的工作室布局文件?

问题描述:

我现在用的是dragsortlistview库为我的项目需要以XML文件中的自定义命名空间的使用情况进行自定义。

I am using the dragsortlistview library for my project which requires the usage of a custom namespace in the XML file in order to customize it.

mylayout.xml:

mylayout.xml:

<com.mobeta.android.dslv.DragSortListView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:dslv="http://schemas.android.com/apk/res-auto"
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="40dp"
    android:layout_marginRight="40dp"
    android:dividerHeight="10dp"
    android:divider="@color/light_grey"
    android:background="@color/light_grey"
    dslv:collapsed_height="2dp"
    dslv:drag_enabled="true"
    dslv:drag_handle_id="@drawable/drag_handle"
    dslv:drag_scroll_start="0.33"
    dslv:drag_start_mode="onMove"
    dslv:float_alpha="0.6"
    dslv:max_drag_scroll_speed="0.5"
    dslv:remove_enabled="true"
    dslv:remove_mode="flingRemove"
    dslv:slide_shuffle_speed="0.3"
    dslv:sort_enabled="true"
    dslv:track_drag_sort="false"
    dslv:use_default_controller="true"
    />

当我做这个项目,我得到这样的错误,在 dslv 命名空间的每一个属性:

When I make this project I get errors like this for every attribute in the dslv namespace:

Gradle: No resource identifier found for attribute 'collapsed_height' in package 'net.mypackage'

我怎样才能在Android的Studio中使用自定义命名空间?

How can I use custom namespace in Android Studio?

RES-汽车使用当前的包名称,而不是库包的名字。在你的情况下,将其转换为 net.mypackage

res-auto uses the current package name, not the library package name. In your case, it translates to net.mypackage.

如果你想使用命名空间为图书馆,你需要使用它的包名。从类的名字来看,你从这里使用DSLV库。所以,你要使用:

If you want to use the namespace for a library, you need to use its package name. Judging from the class name, you are using the DSLV library from here. So, you'll want to use:

xmlns:dslv="http://schemas.android.com/apk/res/com.mobeta.android.dslv"