java - 来自模块的自定义视图未显示在 android studio 调色板中
问题描述
我创建了应该是 android ui 框架的 android studio 模块。框架有几个组件,如自定义按钮、自定义布局等,如果我将它包含到应用程序中,我可以在“项目”下的调色板中看到它们
开发的下一步是使用户能够使用 gradle 导入框架,我设法使用 jfrog 导入框架,但是当您导入项目时,您无法在调色板中看到组件。
我尝试只导入 .jar 和 .aar 文件,但什么也没发生。如果您手动编写 xml,组件通常会显示在预览窗口中
PS:请记住,项目仍在开发中,所以 git 文档并不完整!
在此先感谢,狮子座
编辑:如果您打开新项目,您可以使用 gradle 导入框架。只需添加:
maven {
url "https://cmykui.bintray.com/maven"
}
到您的根 build.gradle 文件和
implementation 'hr.foi.air2018.cmykui:cmykui:0.3.6'
到您的应用程序 build.gradle
如果你想尝试一个组件,你可以添加
<hr.foi.air.cmykui.component.ButtonComponent
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="50dp" />
查看是否导入了框架。
解决方案
我认为这是一个 Android Studio 问题。它不会在 XML 的设计面板的项目选项卡中显示导入模块中的视图子类。
原因1。
Android Studio 不会在“设计”面板的“项目”选项卡中显示依赖项中的视图子类。
例如,即使implementation 'com.android.support:percent:28.0.0'
存在于 module(app) build.gradle 中,android.support.percent.PercentFrameLayout
也不会出现在设计面板的 Project 选项卡中。由于自动完成在 xml 的文本选项卡中提示它,索引器可以找到它们。因此,Android Stuidio 应该检查它们是否是公共 View 类并添加到 Project 选项卡,但事实并非如此。
原因2。
我还尝试了一个包含 View 子类的非常简单的模块。它显示在开发阶段(在该模块中有源代码),但如果一旦构建并作为 aar 导入,则不是。
我试过这个。
public class CustomView extends View
{
public CustomView(final Context context, @Nullable final AttributeSet attrs)
{
super(context, attrs);
}
}
我还检查cmykui
了问题中的模块,但结果是一样的。如果从带有源代码的 Git 导入,则会出现。如果作为 aar 导入,则不会。
推荐阅读
- java - 排序集代码有什么问题?我的输出应该匹配样本
- r - 如何在代码中将列索引到单个变量中
- c# - 如何删除 Entity Framework .Core 中的一组记录?
- r - 有没有办法让 for 循环沿着列表的元素重复?
- java - .exe 文件仅使用 Java Dev Kit 运行,而不是 Java Runtime Environment
- amazon-web-services - 使用 AWS EC2 查询 API
- algorithm - 依赖于 2 个输入的算法的时间复杂度 T(n)
- reactjs - ag-grid 是否支持服务器端行模型中的实时更新?
- ios - SwiftUI - 呈现 3 个具有不同参数的不同视图
- html - 位置列 - 引导程序