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

ddn*_*dnl 6 android listview build-tools android-layout android-studio

你好我在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>
Run Code Online (Sandbox Code Playgroud)

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

"Rendering Problems Exception raised during rendering: color and position arrays must be of equal length"
Run Code Online (Sandbox Code Playgroud)

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

我希望有人有解决方案.

Yas*_*maz 16

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

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

多数民众赞成,并为我工作:)

在此输入图像描述

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

如果要在渲染时使用版本,请打开SDK Manager并更新Build Tools版本.Preview ChannelPreviewBuild Tools


Hit*_*ahu 10

Gradient Drawable 中使用的颜色必须属于同一类型

含义颜色应声明为xmlhex格式或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" />
Run Code Online (Sandbox Code Playgroud)

这不会

 <gradient
        android:angle="90"
        android:centerColor="@color/semi_transparent_white"
        android:endColor="@color/semi_transparent_white"
        android:startColor="@color/colorThemeAccent"
        android:type="linear" />
Run Code Online (Sandbox Code Playgroud)


ddn*_*dnl 2

我解决了。该问题是由使用错误的渐变样式文件引起的。删除渐变文件解决了我的问题。