FloatingActionButton icon indicating copy to clipboard operation
FloatingActionButton copied to clipboard

IllegalArgumentException during rendering

Open AndreasBackx opened this issue 9 years ago • 3 comments

The following layout:

<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/parallaxImage"
        android:layout_width="match_parent"
        android:layout_height="@dimen/parallaxHeaderHeight"
        android:scaleType="centerCrop"
        android:src="@drawable/graslei" />

    <View
        android:id="@+id/parallaxOverlay"
        android:layout_width="match_parent"
        android:layout_height="@dimen/parallaxHeaderHeight"
        android:background="?attr/colorPrimary" />

    <View
        android:id="@+id/listBackground"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white" />

    <com.github.ksoichiro.android.observablescrollview.ObservableScrollView
        android:id="@+id/storeInfo"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:overScrollMode="never"
        android:scrollbars="none">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <View
                android:layout_width="match_parent"
                android:layout_height="@dimen/parallaxHeaderHeight"
                android:background="@android:color/transparent" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@android:color/white"
                android:paddingBottom="@dimen/activityVerticalMargin"
                android:paddingLeft="@dimen/activityHorizontalMargin"
                android:paddingRight="@dimen/activityHorizontalMargin"
                android:paddingTop="@dimen/activityVerticalMargin"
                android:text="Hallo" />
        </LinearLayout>
    </com.github.ksoichiro.android.observablescrollview.ObservableScrollView>

    <android.support.v7.widget.Toolbar
        android:id="@+id/storeToolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:minHeight="?attr/actionBarSize" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:paddingLeft="@dimen/activityHorizontalMargin">

        <TextView
            android:id="@+id/title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:gravity="center_vertical"
            android:maxLines="1"
            android:minHeight="?attr/actionBarSize"
            android:textColor="@android:color/white"
            android:textSize="20sp" />

        <View
            android:layout_width="match_parent"
            android:layout_height="@dimen/parallaxHeaderHeight"
            android:background="@android:color/transparent" />
    </LinearLayout>

    <com.melnykov.fab.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left|top"
        android:scaleType="center"
        app:fab_colorNormal="@color/red"
        app:fab_colorPressed="@color/darkRed" />

</FrameLayout>

Gives an IllegalArgumentException in the renderer if the FAB View is in there. The FAB shows fine on the device though.

java.lang.IllegalArgumentException: Width (12) and height (0) cannot be <= 0
    at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:999)
    at java.awt.image.BufferedImage.<init>(BufferedImage.java:326)
    at android.graphics.LinearGradient_Delegate$LinearGradientPaint$LinearGradientPaintContext.getRaster(LinearGradient_Delegate.java:175)
    at apple.awt.OSXSurfaceData.setupPaint(OSXSurfaceData.java:752)
    at apple.awt.OSXSurfaceData.setupGraphicsState(OSXSurfaceData.java:1038)
    at apple.awt.OSXSurfaceData.setupGraphicsState(OSXSurfaceData.java:1004)
    at apple.awt.OSXSurfaceData.doRect(OSXSurfaceData.java:1239)
    at apple.awt.CRenderer.fillRect(CRenderer.java:157)
    at apple.awt.CRenderer.fillRect(CRenderer.java:145)
    at sun.java2d.pipe.ValidatePipe.fillRect(ValidatePipe.java:58)
    at sun.java2d.SunGraphics2D.fillRect(SunGraphics2D.java:2505)
    at android.graphics.Canvas_Delegate$4.draw(Canvas_Delegate.java:582)
    at com.android.layoutlib.bridge.impl.GcSnapshot.drawOnGraphics(GcSnapshot.java:654)
    at com.android.layoutlib.bridge.impl.GcSnapshot.drawInLayer(GcSnapshot.java:614)
    at com.android.layoutlib.bridge.impl.GcSnapshot.draw(GcSnapshot.java:582)
    at android.graphics.Canvas_Delegate.draw(Canvas_Delegate.java:937)
    at android.graphics.Canvas_Delegate.native_drawRect(Canvas_Delegate.java:573)
    at android.graphics.Canvas.native_drawRect(Canvas.java)
    at android.graphics.Canvas.drawRect(Canvas.java:1119)
    at android.view.RectShadowPainter.sideShadow(RectShadowPainter.java:131)
    at android.view.RectShadowPainter.paintShadow(RectShadowPainter.java:79)
    at android.view.ViewGroup_Delegate.drawShadow(ViewGroup_Delegate.java:72)
    at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
    at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
    at android.view.View.draw(View.java:15138)
    at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405)
    at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65)
    at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
    at android.view.View.draw(View.java:15138)
    at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405)
    at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65)
    at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
    at android.view.View.draw(View.java:15234)
    at android.view.View.draw(View.java:15140)
    at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405)
    at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65)
    at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
    at android.view.View.draw(View.java:15234)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.render(RenderSessionImpl.java:601)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:323)
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350)
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:497)
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:485)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:894)
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:485)
    at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:590)
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.java:644)
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1700(AndroidLayoutPreviewToolWindowManager.java:79)
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.java:586)
    at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.java:152)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:452)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:402)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:137)
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7.run(AndroidLayoutPreviewToolWindowManager.java:581)
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
    at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
    at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
    at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
    at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
    at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
    at com.intellij.util.Alarm$Request$1.run(Alarm.java:351)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:695)

AndreasBackx avatar Apr 11 '15 16:04 AndreasBackx

I'm getting this error as well. Maybe it's Mac-specific?

achuinard avatar Apr 15 '15 21:04 achuinard

I noticed that if I add 'fab_shadow' as false, the button can render.

achuinard avatar May 06 '15 16:05 achuinard

@achuinard yes, but it isn't how you would want it to look on my end.

Screenshot

AndreasBackx avatar May 06 '15 19:05 AndreasBackx