From 2e7dbc82b3e604de2195790085c2a025dc5f06a6 Mon Sep 17 00:00:00 2001 From: Himabindu Gadupudi Date: Thu, 26 Apr 2018 14:17:09 -0700 Subject: [PATCH] Center align image in a span Reviewed By: achen1 Differential Revision: D7750114 fbshipit-source-id: 84b4eaa2da01ac9c49a569d37f7a32eab1e5aca8 --- .../frescosupport/FrescoBasedReactTextInlineImageSpan.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java index 39cd24c6f..08d3ed9d2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java @@ -160,8 +160,10 @@ public class FrescoBasedReactTextInlineImageSpan extends TextInlineImageSpan { canvas.save(); - // Align to baseline by default - int transY = y - mDrawable.getBounds().bottom; + // Align to center + int fontHeight = (int)(paint.descent() - paint.ascent()); + int centerY = y + (int)paint.descent() - fontHeight / 2; + int transY = centerY - (mDrawable.getBounds().bottom - mDrawable.getBounds().top) / 2; canvas.translate(x, transY); mDrawable.draw(canvas);