Android 在图形布局编辑屏幕中查看自定义布局

Android 在图形布局编辑屏幕中查看自定义布局,android,android-custom-view,Android,Android Custom View,这是我测试自定义布局(显示图像和标签)的源代码 XML代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/screen_layout" android:layout_width="match_parent" android:layout_hei

这是我测试自定义布局(显示图像和标签)的源代码

XML代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:id="@+id/screen_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#3535ff"
    android:orientation="vertical"
    android:padding="1dp" >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#000000"
        android:padding="20dp" >
        <ImageView
            android:id="@+id/screen_image"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:background="#000000"
            android:scaleType="centerInside"
            android:src="@drawable/cam_1_20130117_105601_118" />
        <TextView
            android:id="@+id/screen_label"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@id/screen_image"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="3dp"
            android:background="#95000000"
            android:gravity="center_vertical|center_horizontal"
            android:text="사출성형기 1호기"
            android:textColor="#ffffff" />
    </RelativeLayout>
</LinearLayout>
有了这段代码,我查到了NexusOne。它表现得很好。 问题出在编辑器模式上。完全在带预览的xml编辑器上。 添加此视图时,出现错误消息

无法实例化以下类: -com.example.testlayout.CustomScreen(打开类,显示错误日志)有关更多详细信息,请参阅错误日志(窗口>显示视图)。提示:使用 自定义视图中的View.isInEditMode(),以在中显示时跳过代码 蚀

我想在编辑模式下检查它。 如何像其他视图一样检查

必须在每个构造函数中添加(!isInEditMode())。这说明如果它不在编辑模式下,那么就初始化了内容

和初始化的东西

也有一个

必须在每个构造函数中添加(!isInEditMode())。这说明如果它不在编辑模式下,那么就初始化了内容

和初始化的东西


还有一个

这是以下内容的副本。检查一下哦。。我再次检查并解决了这个问题。isInEditMode()->this.isInEditMode()感谢这是以下内容的副本。检查一下哦。。我再次检查并解决了这个问题。isInEditMode()->这个。isInEditMode()谢谢
package com.example.testlayout;

import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.example.testscreen.R;

public class CustomScreen extends LinearLayout {
    LinearLayout mLayout = null;
    TextView mLabel = null;
    ImageView mImage = null;

    public CustomScreen(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init();     
    }

    public CustomScreen(Context context, AttributeSet attrs) {
        super(context, attrs);  
        init();     
    }

    public CustomScreen(Context context) {
        super(context);
        init();     
    }   

    void init() {
        LayoutInflater inflater = (LayoutInflater)getContext()
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        inflater.inflate(R.layout.screen, this, true);
    //  mLabel = (TextView)findViewById(R.id.screen_label);
    //  mImage = (ImageView)findViewById(R.id.screen_image);

        if (isInEditMode()) {
            return;
        }

    }
}
 if(!isInEditMode())
      init(context);