Fresco: roundAsCircle don't display in AndroidStudio preview

Created on 4 Feb 2016  Â·  9Comments  Â·  Source: facebook/fresco

this is my code:

<com.facebook.drawee.view.SimpleDraweeView
        android:id="@+id/iv_author_header"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="22dp"
        app:roundingBorderWidth="@dimen/portrait_border_width"
        app:roundAsCircle="true"
        app:roundingBorderColor="@color/white"
        app:placeholderImage="@drawable/default_avator_round"
        app:actualImageScaleType="centerInside"
        app:failureImage="@drawable/default_avator_round"
        app:failureImageScaleType="centerInside"
        />

it can't display preview ,this is exception stack:

sun.dc.pr.PRError: setPenT4: invalid pen transformation (singular)
    at sun.dc.pr.PathStroker.setPenT4(Native Method)
    at sun.dc.pr.Rasterizer.setPenT4(Rasterizer.java:232)
    at sun.dc.DuctusRenderingEngine.getAATileGenerator(DuctusRenderingEngine.java:409)
    at sun.java2d.pipe.AAShapePipe.renderPath(AAShapePipe.java:151)
    at sun.java2d.pipe.AAShapePipe.draw(AAShapePipe.java:64)
    at sun.java2d.pipe.PixelToParallelogramConverter.draw(PixelToParallelogramConverter.java:148)
    at sun.java2d.pipe.ValidatePipe.draw(ValidatePipe.java:154)
    at sun.java2d.SunGraphics2D.draw(SunGraphics2D.java:2438)
    at android.graphics.Canvas_Delegate$8.draw(Canvas_Delegate.java:727)
    at com.android.layoutlib.bridge.impl.GcSnapshot.drawOnGraphics(GcSnapshot.java:680)
    at com.android.layoutlib.bridge.impl.GcSnapshot.drawInLayer(GcSnapshot.java:615)
    at com.android.layoutlib.bridge.impl.GcSnapshot.draw(GcSnapshot.java:583)
    at android.graphics.Canvas_Delegate.draw(Canvas_Delegate.java:951)
    at android.graphics.Canvas_Delegate.native_drawPath(Canvas_Delegate.java:707)
    at android.graphics.Canvas.native_drawPath(Canvas.java)
    at android.graphics.Canvas.drawPath(Canvas.java:1262)
    at com.facebook.drawee.drawable.RoundedBitmapDrawable.draw(RoundedBitmapDrawable.java:172)
    at com.facebook.drawee.drawable.ForwardingDrawable.draw(ForwardingDrawable.java:140)
    at com.facebook.drawee.drawable.ScaleTypeDrawable.draw(ScaleTypeDrawable.java:104)
    at com.facebook.drawee.drawable.FadeDrawable.drawDrawableWithAlpha(FadeDrawable.java:306)
    at com.facebook.drawee.drawable.FadeDrawable.draw(FadeDrawable.java:293)
    at com.facebook.drawee.drawable.ForwardingDrawable.draw(ForwardingDrawable.java:140)
    at com.facebook.drawee.generic.GenericDraweeHierarchy$RootDrawable.draw(GenericDraweeHierarchy.java:133)
    at android.widget.ImageView.onDraw(ImageView.java:1226)
    at android.view.View.draw(View.java:16178)
    at android.view.View.draw(View.java:16090)
    at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3609)
    at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
    at android.view.ViewGroup.drawChild(ViewGroup.java:3609)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399)
    at android.view.View.draw(View.java:16181)
    at android.view.View.draw(View.java:16090)
    at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3609)
    at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
    at android.view.ViewGroup.drawChild(ViewGroup.java:3609)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399)
    at android.view.View.draw(View.java:16088)
    at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3609)
    at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
    at android.view.ViewGroup.drawChild(ViewGroup.java:3609)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399)
    at android.view.View.draw(View.java:16181)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.render(RenderSessionImpl.java:431)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:428)
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350)
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:510)
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:498)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:888)
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:498)
    at com.android.tools.idea.rendering.RenderTask.access$600(RenderTask.java:72)
    at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:610)
    at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:607)
    at com.android.tools.idea.rendering.RenderService.runRenderAction(RenderService.java:362)
    at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:607)
    at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:629)
    at com.intellij.android.designer.designSurface.AndroidDesignerEditorPanel$6.run(AndroidDesignerEditorPanel.java:480)
    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:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

but when I remove the attribute roundAsCircle="true",it just work fine

enhancement

Most helpful comment

I got same problem here.

When using fresco:roundWithOverlayColor="@color/any_color_without_alpha" preview works.

All 9 comments

Use of isInEditMode() is not supported yet.

Thanks

 Rendering Problems 
The graphics preview in the layout editor may not be accurate: 
- Unable to inverse matrix in BitmapShader (Ignore for this session)

I meet the same problem , too .

Hi guys. Any idea of when this will be available? This is a real breaker...

Hi @ivanviragine, can you provide us some log you should have when the preview fails, please? Anyway, as said before, the preview is not supported yet.
Thanks

@massimocarli the problem is that I don't have ANY preview at all, my Android Studio shows just a blank preview where I have round drawees. I would like to know if is there any plans on making preview mode, because it's almost impossible to use it that way.

Here's my Android Studio log:

sun.dc.pr.PRError: setPenT4: invalid pen transformation (singular)
at sun.dc.pr.PathStroker.setPenT4(Native Method)
at sun.dc.pr.Rasterizer.setPenT4(Rasterizer.java:232)
at sun.dc.DuctusRenderingEngine.getAATileGenerator(DuctusRenderingEngine.java:409)
at sun.java2d.pipe.AAShapePipe.renderPath(AAShapePipe.java:151)
at sun.java2d.pipe.AAShapePipe.draw(AAShapePipe.java:64)
at sun.java2d.pipe.PixelToParallelogramConverter.draw(PixelToParallelogramConverter.java:148)
at sun.java2d.pipe.ValidatePipe.draw(ValidatePipe.java:154)
at sun.java2d.SunGraphics2D.draw(SunGraphics2D.java:2438)
at android.graphics.Canvas_Delegate$8.draw(Canvas_Delegate.java:727)
at com.android.layoutlib.bridge.impl.GcSnapshot.drawOnGraphics(GcSnapshot.java:680)
at com.android.layoutlib.bridge.impl.GcSnapshot.drawInLayer(GcSnapshot.java:615)
at com.android.layoutlib.bridge.impl.GcSnapshot.draw(GcSnapshot.java:583)
at android.graphics.Canvas_Delegate.draw(Canvas_Delegate.java:951)
at android.graphics.Canvas_Delegate.native_drawPath(Canvas_Delegate.java:707)
at android.graphics.Canvas.native_drawPath(Canvas.java)
at android.graphics.Canvas.drawPath(Canvas.java:1262)
at com.facebook.drawee.drawable.RoundedBitmapDrawable.draw(RoundedBitmapDrawable.java:241)
at com.facebook.drawee.drawable.ForwardingDrawable.draw(ForwardingDrawable.java:140)
at com.facebook.drawee.drawable.ScaleTypeDrawable.draw(ScaleTypeDrawable.java:104)
at com.facebook.drawee.drawable.FadeDrawable.drawDrawableWithAlpha(FadeDrawable.java:306)
at com.facebook.drawee.drawable.FadeDrawable.draw(FadeDrawable.java:293)
at com.facebook.drawee.drawable.ForwardingDrawable.draw(ForwardingDrawable.java:140)
at com.facebook.drawee.generic.RootDrawable.draw(RootDrawable.java:85)
at android.widget.ImageView.onDraw(ImageView.java:1226)
at android.view.View.draw(View.java:16178)
at android.view.View.draw(View.java:16090)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3609)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
at android.view.ViewGroup.drawChild(ViewGroup.java:3609)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399)
at android.view.View.draw(View.java:16088)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3609)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
at android.view.ViewGroup.drawChild(ViewGroup.java:3609)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399)
at android.view.View.draw(View.java:16181)
at android.view.View.draw(View.java:16090)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3609)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
at android.view.ViewGroup.drawChild(ViewGroup.java:3609)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399)
at android.view.View.draw(View.java:16181)
at android.view.View.draw(View.java:16090)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3609)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
at android.view.ViewGroup.drawChild(ViewGroup.java:3609)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399)
at android.view.View.draw(View.java:16088)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3609)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
at android.view.ViewGroup.drawChild(ViewGroup.java:3609)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399)
at android.view.View.draw(View.java:16181)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.render(RenderSessionImpl.java:431)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:428)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:510)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:498)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:888)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:498)
at com.android.tools.idea.rendering.RenderTask.access$600(RenderTask.java:72)
at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:610)
at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:607)
at com.android.tools.idea.rendering.RenderService.runRenderAction(RenderService.java:362)
at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:607)
at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:629)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.java:652)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1700(AndroidLayoutPreviewToolWindowManager.java:80)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.java:594)
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:589)
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:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

@ivanviragine We don't have plan at the moment but it would be a good task for a pull request. Feel free to implement it and submit the pull request we'd be happy to review.
Thanks

I got same problem here.

When using fresco:roundWithOverlayColor="@color/any_color_without_alpha" preview works.

same for me

@burnaz it's working here with any color, even with alpha. But, it's a workaround for a temporary preview...

Was this page helpful?
0 / 5 - 0 ratings