Fallback for textAlign: justify

Summary:Fixes #5408 as per ide and vjeux suggestions here https://github.com/facebook/react-native/issues/529#issuecomment-107328799

Could've been probably done in a single `if` clause, but this is more explicit and leaves potential place for future implementation (if we ever decide to do so)
Closes https://github.com/facebook/react-native/pull/7197

Differential Revision: D3217740

Pulled By: vjeux

fb-gh-sync-id: aa08a5c42e43c1abe17b72a424ee96146f2667f6
fbshipit-source-id: aa08a5c42e43c1abe17b72a424ee96146f2667f6
This commit is contained in:
Mike Grabowski 2016-04-24 11:28:41 -07:00 committed by Facebook Github Bot 6
parent 7102fd079a
commit 02578df4f7
3 changed files with 8 additions and 1 deletions

View File

@ -41,7 +41,8 @@ var TextStylePropTypes = Object.assign(Object.create(ViewStylePropTypes), {
letterSpacing: ReactPropTypes.number, letterSpacing: ReactPropTypes.number,
lineHeight: ReactPropTypes.number, lineHeight: ReactPropTypes.number,
/** /**
* Specifies text alignment. The value 'justify' is only supported on iOS. * Specifies text alignment. The value 'justify' is only supported on iOS and
* fallbacks to `left` on Android.
*/ */
textAlign: ReactPropTypes.oneOf( textAlign: ReactPropTypes.oneOf(
['auto' /*default*/, 'left', 'right', 'center', 'justify'] ['auto' /*default*/, 'left', 'right', 'center', 'justify']

View File

@ -65,6 +65,9 @@ public class ReactTextViewManager extends BaseViewManager<ReactTextView, ReactTe
view.setGravityHorizontal(Gravity.RIGHT); view.setGravityHorizontal(Gravity.RIGHT);
} else if ("center".equals(textAlign)) { } else if ("center".equals(textAlign)) {
view.setGravityHorizontal(Gravity.CENTER_HORIZONTAL); view.setGravityHorizontal(Gravity.CENTER_HORIZONTAL);
} else if ("justify".equals(textAlign)) {
// Fallback gracefully for cross-platform compat instead of error
view.setGravityHorizontal(Gravity.LEFT);
} else { } else {
throw new JSApplicationIllegalArgumentException("Invalid textAlign: " + textAlign); throw new JSApplicationIllegalArgumentException("Invalid textAlign: " + textAlign);
} }

View File

@ -242,6 +242,9 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
view.setGravityHorizontal(Gravity.RIGHT); view.setGravityHorizontal(Gravity.RIGHT);
} else if ("center".equals(textAlign)) { } else if ("center".equals(textAlign)) {
view.setGravityHorizontal(Gravity.CENTER_HORIZONTAL); view.setGravityHorizontal(Gravity.CENTER_HORIZONTAL);
} else if ("justify".equals(textAlign)) {
// Fallback gracefully for cross-platform compat instead of error
view.setGravityHorizontal(Gravity.LEFT);
} else { } else {
throw new JSApplicationIllegalArgumentException("Invalid textAlign: " + textAlign); throw new JSApplicationIllegalArgumentException("Invalid textAlign: " + textAlign);
} }