react-native/Libraries/Components
Adam Comella c0ea23cfb0 Android: Expose textBreakStrategy on Text and TextInput
Summary:
Android has a text API called breakStrategy for controlling how paragraphs are broken up into lines. For example, some modes support automatically hyphenating words so a word can be split across lines while others do not.

One source of complexity is that Android provides different defaults for `breakStrategy` for `TextView` vs `EditText`. `TextView`'s default is `BREAK_STRATEGY_HIGH_QUALITY` while `EditText`'s default is `BREAK_STRATEGY_SIMPLE`.

In addition to exposing `textBreakStrategy`, this change also fixes a couple of rendering glitches with `Text` and `TextInput`. `TextView` and `EditText` have different default values for `breakStrategy` and `hyphenationFrequency` than `StaticLayout`. Consequently, we were using different parameters for measuring and rendering. Whenever measuring and rendering parameters are inconsistent, it can result in visual glitches such as the text taking up too much space or being clipped.

This change fixes these inconsistencies by setting `breakStrategy` and `hyphenat
Closes https://github.com/facebook/react-native/pull/11007

Differential Revision: D4227495

Pulled By: lacker

fbshipit-source-id: c2d96bd0ddc7bd315fda016fb4f1b5108a2e35cf
2016-12-16 01:28:45 -08:00
..
ActivityIndicator RN: Update React (2/2) 2016-11-04 05:43:44 -07:00
Clipboard Remove deprecated APIs and modules 2016-10-11 07:43:52 -07:00
DatePicker Stop other views from stealing the responder from PickerIOS and DatePickerIOS 2016-11-07 18:13:53 -08:00
DatePickerAndroid Android datepicker mode configurations added 2016-11-23 04:58:31 -08:00
DrawerAndroid RN: Update React (2/2) 2016-11-04 05:43:44 -07:00
Keyboard relativeKeyboardHeight works wrong in some cases 2016-11-14 11:58:58 -08:00
MapView Add in support for showing annotation callouts by default without the user clicking on the pins 2016-11-20 00:58:28 -08:00
Navigation Expose NavigatorIOS::replaceAtIndex 2016-11-11 12:58:35 -08:00
Picker Fix iOS Picker Item Colors 2016-12-03 18:58:29 -08:00
ProgressBarAndroid RN: Update React (2/2) 2016-11-04 05:43:44 -07:00
ProgressViewIOS RN: Update React (2/2) 2016-11-04 05:43:44 -07:00
RefreshControl RN: Update React (2/2) 2016-11-04 05:43:44 -07:00
ScrollView Reworking keyboardShouldPersistTaps to have a middle ground 2016-12-07 21:43:35 -08:00
SegmentedControlIOS RN: Update React (2/2) 2016-11-04 05:43:44 -07:00
Slider RN: Update React (2/2) 2016-11-04 05:43:44 -07:00
StatusBar Add currentHeight constant to status bar docs 2016-11-05 17:13:29 -07:00
Switch RN: Update React (2/2) 2016-11-04 05:43:44 -07:00
TabBarIOS unselectedItemTintColor property available since iOS10 2016-11-29 12:28:55 -08:00
TextInput Android: Expose textBreakStrategy on Text and TextInput 2016-12-16 01:28:45 -08:00
TimePickerAndroid Clean unused import modules. 2016-10-16 11:13:40 -07:00
ToastAndroid Add very basic usage example for android toast 2016-09-19 06:43:54 -07:00
ToolbarAndroid RN: Update React (2/2) 2016-11-04 05:43:44 -07:00
Touchable Improve TouchableOpacity 2016-12-13 11:28:30 -08:00
UnimplementedViews Convert from React.createClass to ES6 classes 2016-07-26 01:13:31 -07:00
View RN: Update React (2/2) 2016-11-04 05:43:44 -07:00
ViewPager RN: Stop Deep Linking `ReactElement` 2016-10-14 18:59:10 -07:00
WebView Expose setAllowUniversalAccessFromFileURLs in Android WebView 2016-11-08 08:43:38 -08:00
Button.js Change require('invariant') to require('fbjs/lib/invariant') 2016-10-16 02:13:52 -07:00
LazyRenderer.js Cleanup: Prefer `React.Element` over `React$?Element` 2016-10-14 08:59:37 -07:00
ScrollResponder.js Reworking keyboardShouldPersistTaps to have a middle ground 2016-12-07 21:43:35 -08:00
StaticContainer.js RN: Change `onlyChild => React.Children.only` 2016-10-14 18:59:10 -07:00
StaticRenderer.js Reverted commit D4027388 2016-10-16 04:13:42 -07:00
Subscribable.js [ReactNative] clean lint for Libraries/Components 2015-05-18 15:54:07 -08:00