Repository: incubator-weex
Updated Branches:
  refs/heads/master 6a5a621ac -> a59ddfe8d


+[android] add property include-font-padding to set whether the text includes 
extra top and bottom padding to make room for accents that go above the normal 
ascent and descent.


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/9baf4da4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/9baf4da4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/9baf4da4

Branch: refs/heads/master
Commit: 9baf4da453198975cc9d8a1a9d22b891d04b834b
Parents: 9d11a5d
Author: misakuo <misa...@apache.org>
Authored: Thu Mar 1 11:59:44 2018 +0800
Committer: misakuo <misa...@apache.org>
Committed: Thu Mar 1 11:59:44 2018 +0800

----------------------------------------------------------------------
 .../src/main/java/com/taobao/weex/common/Constants.java  |  1 +
 .../main/java/com/taobao/weex/dom/WXTextDomObject.java   | 11 ++++++++---
 2 files changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9baf4da4/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java 
b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
index 64b59c8..44924da 100644
--- a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
+++ b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
@@ -201,6 +201,7 @@ public class Constants {
     String STRATEGY  = "strategy";
 
     String ALLOW_COPY_PASTE = "allowCopyPaste";
+    String INCLUDE_FONT_PADDING = "includeFontPadding";
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9baf4da4/android/sdk/src/main/java/com/taobao/weex/dom/WXTextDomObject.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/WXTextDomObject.java 
b/android/sdk/src/main/java/com/taobao/weex/dom/WXTextDomObject.java
index 6bb1feb..142b729 100644
--- a/android/sdk/src/main/java/com/taobao/weex/dom/WXTextDomObject.java
+++ b/android/sdk/src/main/java/com/taobao/weex/dom/WXTextDomObject.java
@@ -57,6 +57,7 @@ import com.taobao.weex.utils.TypefaceUtil;
 import com.taobao.weex.utils.WXDomUtils;
 import com.taobao.weex.utils.WXLogUtils;
 import com.taobao.weex.utils.WXResourceUtils;
+import com.taobao.weex.utils.WXUtils;
 
 import java.util.Collections;
 import java.util.LinkedList;
@@ -144,6 +145,7 @@ public class WXTextDomObject extends WXDomObject {
   private int mNumberOfLines = UNSET;
   private int mFontSize = UNSET;
   private int mLineHeight = UNSET;
+  private boolean mIncludeFontPadding = false;
   private float previousWidth = Float.NaN;
   private String mFontFamily = WXEnvironment.getGlobalFontFamilyName();
   private String mText = null;
@@ -279,6 +281,9 @@ public class WXTextDomObject extends WXDomObject {
    */
   private void updateStyleAndText() {
     updateStyleImp(getStyles());
+    if (getAttrs() != null && 
getAttrs().containsKey(Constants.Name.INCLUDE_FONT_PADDING)) {
+      mIncludeFontPadding = 
WXUtils.getBoolean(getAttrs().get(Constants.Name.INCLUDE_FONT_PADDING), false);
+    }
     mText = WXAttr.getValue(getAttrs());
   }
 
@@ -341,7 +346,7 @@ public class WXTextDomObject extends WXDomObject {
         forceRtl = direction.equals(Constants.Name.RTL);
       }
       layout = StaticLayoutProxy.create(spanned, mTextPaint, (int) 
Math.ceil(textWidth),
-          Layout.Alignment.ALIGN_NORMAL, 1, 0, false, forceRtl);
+          Layout.Alignment.ALIGN_NORMAL, 1, 0, mIncludeFontPadding, forceRtl);
     } else {
       layout = previousLayout;
     }
@@ -361,7 +366,7 @@ public class WXTextDomObject extends WXDomObject {
         adjustSpansRange(spanned, builder);
         spanned = builder;
         return new StaticLayout(spanned, mTextPaint, (int) 
Math.ceil(textWidth),
-            Layout.Alignment.ALIGN_NORMAL, 1, 0, false);
+            Layout.Alignment.ALIGN_NORMAL, 1, 0, mIncludeFontPadding);
       }
     }
     return layout;
@@ -405,7 +410,7 @@ public class WXTextDomObject extends WXDomObject {
           startOffset -= 1;
         }
         source.delete(startOffset, startOffset+1);
-        layout = new StaticLayout(source, paint, desired, 
Layout.Alignment.ALIGN_NORMAL, 1, 0, false);
+        layout = new StaticLayout(source, paint, desired, 
Layout.Alignment.ALIGN_NORMAL, 1, 0, mIncludeFontPadding);
         if (layout.getLineCount() <= 1) {
           ret = source;
           break;

Reply via email to