渲染问题渲染期间引发异常:颜色和位置数组的长度必须相等

时间:2013-08-05 10:46:17

标签: android android-layout listview android-studio build-tools

您好我在Android工作室中遇到渲染错误。有人知道这是为什么造成的吗?

我的xml:          

    <!-- ListRow Left side Thumbnail image -->

    <LinearLayout
        android:id="@+id/thumbnail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginRight="5dip"
        android:background="@drawable/image_bg"
        android:padding="0dip" >

    <ImageView
         android:id="@+id/list_image"
         android:layout_width="50dip"
         android:layout_height="50dip"
         android:scaleType="centerCrop"
          />
    </LinearLayout>

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/thumbnail"
        android:layout_marginTop="0dip"
        android:layout_toRightOf="@+id/thumbnail"
        android:text="De Titel van het geweldige bericht"
        android:textColor="#60a926"
        android:textSize="15dip"
        android:textStyle="bold"
        android:ellipsize="end"
        android:typeface="sans" />

    <TextView
        android:id="@+id/subtitle"
        android:layout_width="match_parent"
        android:layout_height="25dp"
        android:layout_below="@id/title"
        android:layout_marginTop="0dip"
        android:layout_toLeftOf="@+id/imageView1"
        android:layout_toRightOf="@+id/thumbnail"
        android:text="Nieuwsbericht subtitel mooi iets ..."
        android:textStyle="bold"
        android:ellipsize="end"
        android:textColor="#9f9e9f"
        android:textSize="10dip" />


    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:src="@drawable/arrow" />

    <!-- datum van bericht -->
    <TextView
        android:id="@+id/date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/artist"
        android:layout_alignTop="@+id/imageView1"
        android:layout_marginTop="18dp"
        android:layout_marginLeft="175dp"
        android:gravity="right"
        android:text=""
        android:textColor="#ffffff"
        android:textSize="10dip"
        android:textStyle="bold" />

</RelativeLayout>

当我使用预览时,我收到此错误:

"Rendering Problems Exception raised during rendering: color and position arrays must be of equal length"

这是Android Studio错误还是我做错了什么?

我希望有人有解决方案。

5 个答案:

答案 0 :(得分:16)

首先禁用自动选择最佳功能。 (你可以在下图中看到)

然后选择非预览Api版本进行渲染

多数,并为我工作:)

enter image description here

此答案也用于解决使用非更新的Build Tools版本进行渲染时的问题。另一种解决问题的方法是:

如果您想在渲染时使用SDK ManagerBuild Tools,请打开Preview Channel并将Preview版本更新为Build Tools

答案 1 :(得分:3)

我解决了。问题是由使用虚假渐变样式文件引起的。删除渐变文件为我解决了问题。

答案 2 :(得分:3)

我通过在预览版Android上取消预览来解决了这个问题。 像Android N。

这也有帮助

答案 3 :(得分:2)

今天是2015年4月14日(15Apr14)。 '渲染期间出现渲染问题异常'

这对我有用。

我的Android SDK管理器已经下载了19,19.1,22和24.1.2。我的SDK管理器中未列出22.0.0。我在Android Studio中双击'Gradle Scripts'下的'build.gradle(Module App)并更改了行

将'com.android.support:appcompat-v7:22.0.0编译为' 至 编译'com.android.support:appcompat-v7:19.1'

然后在渲染器上方的下拉菜单中,旁边的小Android(称为'Android版使用...'下拉菜单中有鼠标悬停)图标我选择了'API 19:Android 4.4.2'。

渲染工作。

以前,在同一脚本中,目标版本和构建工具版本设置为19:

buildToolsVersion“19.1.0”

targetSdkVersion 19

答案 4 :(得分:0)

“渐变可绘制”中使用的颜色必须为相同类型

含义颜色应以xml渐变形式声明为hex格式或attr?color格式。将它们混合在一起会导致此错误。

示例

这将会崩溃

 <gradient
        android:angle="90"
        android:centerColor="@color/semi_transparent_white"
        android:endColor="@color/semi_transparent_white"
        android:startColor="?attr/colorAccent" <!--Error: Cant mix color and attr -->
        android:type="linear" />

这不会

 <gradient
        android:angle="90"
        android:centerColor="@color/semi_transparent_white"
        android:endColor="@color/semi_transparent_white"
        android:startColor="@color/colorThemeAccent"
        android:type="linear" />