gpt4 book ai didi

android-studio - 自定义属性的命名空间自动填充

转载 作者:行者123 更新时间:2023-12-03 17:57:08 38 4
gpt4 key购买 nike

我有一个项目“CustomViews”,我想在另一个项目“Library Dependent”中用作库。我的观点之一是 ToolbarITI 在我的 ToolbarITI 类中处理的文件中定义了一些自定义属性:

attrs.xml

<resources>

<declare-styleable name="ToolbarITI">
<attr name="rightIconSrc" format="integer"/>
<attr name="leftIconSrc" format="integer"/>
<attr name="titleText" format="string"/>
<attr name="iconPadding" format="dimension"/>
<attr name="fontName" format="string"/>
</declare-styleable>

</resources>

当我将自定义 View 添加到我的 Library Dependent 项目中的布局时,我可以在 xml 文件中添加这些自定义属性,并应用这些属性。但是, Android Studio 在自动填充时无法识别与 ToolbarITI 相关的 custom: 属性 这使得这个过程很烦人。我在布局文件的顶部声明了 xmlns:custom 。

我根本不明白这些属性是如何与库项目捆绑在一起并被 Android Studio 引用的。如果有人可以解释这是如何完成的,请提供解释!

最佳答案

我需要有人确认这是问题的根源,但这就是我发现的。

我正在将我的 .aar 上传到 com.tommcfarlin.lib,其中“lib”会导致资源被忽略(根据 Android Studio)。虽然我不确定这是否会在打包时导致任何“破坏”,但它肯定会通过不为自动填充添加资源 ID 来降低 Android Studio 的功能。最好是安全的,不要这样做。

这些是我采取的导致 Android Studio 识别自定义属性的步骤。

1) 我将我的 CustomViews 项目中的 build.gradle 更改为:
注意 com.tommcfarlin.customviews

def aarFile = file("build/${archivesBaseName}-${project.version}.aar")
artifacts {
archives aarFile
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file:///C:/Users/tmcfarlin/AndroidProjects/myrepo")
pom.groupId = 'com.tommcfarlin.customviews'
pom.artifactId = 'CustomViews'
pom.version = '0.1.0'
}
}
}

2)我从终端运行“gradle uploadArchives”

3)在我的图书馆依赖项目中,我的 build.gradle 中有以下几行:
repositories {
maven { url 'file:///C:/Users/tmcfarlin/AndroidProjects/myrepo' }
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.tommcfarlin.customviews:CustomViews:0.1.0@aar'
}

4)我将项目与 gradle 文件同步。在此之后,我仍然看不到属性。我 关闭 Library Dependent 项目并重新打开它 瞧!!!我现在可以有以下 block ,当我键入“自定义:”并按 Ctrl+Space 时,我的自定义 View 的属性为我填写了
<com.tommcfarlin.customviews.ToolbarITI
android:layout_width="wrap_content"
android:layout_height="wrap_content"
custom:fontName="helvetica.ttf">
</com.tommcfarlin.customviews.ToolbarITI>

在学习如何设置本地存储库时,这个网页对我非常有用。只要确保不要使用“lib”目录!!! http://blog.glassdiary.com/post/67134169807/how-to-share-android-archive-library-aar-across

关于android-studio - 自定义属性的命名空间自动填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28079658/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com