android - 如何在 Android Studio 的布局文件中设置自定义命名空间?

标签 android xml android-layout namespaces android-studio

我正在为我的项目使用 dragsortlistview 库,它需要在 XML 文件中使用自定义命名空间才能对其进行自定义。

我的布局.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 命名空间中的每个属性,我都会收到这样的错误:

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

如何在 Android Studio 中使用自定义命名空间?

最佳答案

res-auto 使用当前包名,而不是库包名。在您的例子中,它转换为 net.mypackage

如果你想为一个库使用命名空间,你需要使用它的包名。从类名来看,你使用的是DSLV库from here .因此,您需要使用:

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

关于android - 如何在 Android Studio 的布局文件中设置自定义命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17097961/

相关文章:

php - 如何刷新webview中的php页面

xml - 可选择使用 xsl 样式表

xml - 将标签添加到 logback 配置中

java - 扩大冗长 Activity 序列的最佳方法是什么?

java - 向上滑动面板(Java 到 Kotlin)

android以编程方式设置边距

android - 如何检查特定调用是否在android中处于保留状态?

c# - 如何在 C# 中使用 Open XML SDK 将 doc 转换为 docx

标签方法中的Android View

android - 如何更改按钮的文本颜色?