首页 > 解决方案 > 来自模块的自定义视图未显示在 android studio 调色板中

问题描述

我创建了应该是 android ui 框架的 android studio 模块。框架有几个组件,如自定义按钮、自定义布局等,如果我将它包含到应用程序中,我可以在“项目”下的调色板中看到它们

伊姆古尔

开发的下一步是使用户能够使用 gradle 导入框架,我设法使用 jfrog 导入框架,但是当您导入项目时,您无法在调色板中看到组件。

我尝试只导入 .jar 和 .aar 文件,但什么也没发生。如果您手动编写 xml,组件通常会显示在预览窗口中

这是gitjfrog

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" />

查看是否导入了框架。

标签: javaandroidandroid-studio

解决方案


我认为这是一个 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 导入,则不会。


推荐阅读