Failed to run RenderNode

22 views
Skip to first unread message

Juude Song

unread,
Mar 25, 2015, 10:17:03 AM3/25/15
to android-...@googlegroups.com
I tried to use the hide api RenderNode in android , but it does not take effect.

am I doing it wrong? or It is not yet supported in Android? 

        @Override
       
protected void onDraw(Canvas canvas) {
               
Log.d(TAG , "onDraw canvas : @" + System.identityHashCode(canvas) + "name " + this.getTag() + "   type :" + canvas.getClass().getName());

               
               
super.onDraw(canvas);
               
this.getHardwareRenderer();

               
//create new RenderNode
               
RenderNode node = RenderNode.create("juude", this);
               
HardwareCanvas hCanvas = node.start(200, 500);
                mPaint
.setStyle(Style.FILL);
                mPaint
.setColor(Color.RED);
                hCanvas
.drawRect(0, 0, 100, 200,mPaint);
                hCanvas
.drawColor(Color.RED);
                node
.end(hCanvas);

               
//draw on current canvas
               
HardwareCanvas hardwareCanvas = (HardwareCanvas)canvas;
               
Log.d(TAG, "beforedrawRenderNode valid : " + node.isValid());
                hardwareCanvas
.insertReorderBarrier();
                hardwareCanvas
.drawRenderNode(node);
                hardwareCanvas
.insertInorderBarrier();
               
Log.d(TAG, "afterdrawRenderNode  validx" + node.isValid());
       
}      

Reply all
Reply to author
Forward
0 new messages