android - 无法在 Android Studio 布局编辑器中显示自定义 View

标签 android android-layout android-studio android-view android-custom-view

我正在努力让我的自定义 View 显示在 Android Studio's Layout Editor 中.

我的 View 是带有自定义参数的 RecyclerView 的简单子(monad)类。我用 View.isInEditMode()仅在实际运行应用程序时使用给定的 attrs:

public class CustomRecyclerView extends RecyclerView {

    public CustomRecyclerView(Context context, AttributeSet attrs) {
        super(context, attrs);
        if (isInEditMode()) {
            return;
        }

        final TypedArray styledAttributes = context.getTheme().obtainStyledAttributes(attrs, R.styleable.CustomRecyclerView, 0, 0);
        /* ... */
}

但是,预览包含此 View 的布局会导致一个空的预览 Pane (甚至不是手机的框架):

preview with custom view

如果我用 RecyclerView 替换我的 View ,预览会按预期工作:

preview with default view

我不知道我应该在这里做什么:如果 RecyclerView 正确显示,我在子类的构造函数中所做的就是调用 super() 并在 isInEditMode 时返回> 是真的,那有什么可以解释我的 View 没有显示?

如何让我的自定义 View 显示在 Android Studio 的布局编辑器中?

最佳答案

截至今天,使用 Android Studio 2.1.2 打开同一个项目确实可以在预览 Pane 中成功显示 UI。我只能猜测这是 IDE 中的一个错误,并且在我提出这个问题后已得到修复。

关于android - 无法在 Android Studio 布局编辑器中显示自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37750029/

相关文章:

android - 无法初始化 GeckoRuntime |壁虎 View |安卓

Android:针对所有屏幕尺寸对齐 LinearLayout 中心

java - 将 fragment 布局纵向更改为横向

android - Propper java-groovy 互操作性 : how?

Android 连接检测在 Android Studio 2.2.1 中不起作用。出了什么问题?

android - 如果调用 requestLocationUpdates 以获取用户的新位置,应用程序会崩溃

android - Activity 被销毁后是否可以保持显示警报对话框?

java - 尝试在 Android 中打开资源文件时出错

android - 如何使用字符串通过变量名获取按钮?

java - 从 AsyncTask 中的 SharedPreferences 获取字符串,java.lang.NullPointerException