react-native/Libraries
Janic Duplessis 0e8b75b22c Implement ScrollView sticky headers on Android
Summary:
This adds support for sticky headers on Android. The implementation if based primarily on the iOS one (https://github.com/facebook/react-native/blob/master/React/Views/RCTScrollView.m#L272) and adds some stuff that was missing to be able to handle z-index, view clipping, view hierarchy optimization and touch handling properly.

Some notable changes:
- Add `ChildDrawingOrderDelegate` interface to allow changing the `ViewGroup` drawing order using `ViewGroup#getChildDrawingOrder`. This is used to change the content view drawing order to make sure headers are drawn over the other cells. Right now I'm only reversing the drawing order as drawing only the header views last added a lot of complexity especially because of view clipping and I don't think it should cause issues.

- Add `collapsableChildren` prop that works like `collapsable` but applies to every child of the view. This is needed to be able to reference sticky headers by their indices otherwise some subviews can get optimized out and break indexes.
Closes https://github.com/facebook/react-native/pull/9456

Differential Revision: D3827366

fbshipit-source-id: cab044cfdbe2ccb98e1ecd3e02ed3ceaa253eb78
2016-09-14 20:43:29 -07:00
..
ART Update React Native minimum OS version to iOS8 2016-09-01 19:43:47 -07:00
ActionSheetIOS ActionSheetIOS - Pass URL, not file contents to UIActivityViewController for file URLs. 2016-09-06 04:43:36 -07:00
AdSupport Update React Native minimum OS version to iOS8 2016-09-01 19:43:47 -07:00
Animated Disables munging in animated to make dynamic dispatch work for private methods 2016-09-08 05:44:08 -07:00
AppRegistry Auto-fix lint errors 2016-08-09 06:43:46 -07:00
AppState Auto-fix lint errors 2016-08-09 06:43:46 -07:00
BatchedBridge Cleanup and document native module configuration 2016-09-08 04:13:51 -07:00
BugReporting Unrevert D3518381 2016-07-06 12:58:41 -07:00
CameraRoll Allow PhotoKit to download photos from iCloud 2016-09-08 16:28:35 -07:00
Components Implement ScrollView sticky headers on Android 2016-09-14 20:43:29 -07:00
CustomComponents Added the PushFromLeft animation to Navigator 2016-09-09 06:28:34 -07:00
DebugComponentHierarchy Move React Core Integration to a Dependency 2016-04-21 09:28:23 -07:00
Devtools Get server host in setupDevtools for Android 2016-07-19 05:58:29 -07:00
EventEmitter Auto-fix lint errors 2016-08-09 06:43:46 -07:00
Experimental Use Batchinator in WindowedListView 2016-09-06 22:43:27 -07:00
Fetch Fixed what fetch.js exports 2016-07-14 11:13:27 -07:00
Geolocation Docs - explain how to access the geolocation API 2016-09-09 05:43:35 -07:00
Image Fix invalid package name and Remove unsupported prop in Image.android.js 2016-09-14 13:43:48 -07:00
Inspector Auto-fix lint errors 2016-08-09 06:43:46 -07:00
Interaction Add some stall stuff as settings to native animated example 2016-09-06 19:58:35 -07:00
JavaScriptAppEngine Revert "Remove RCTLog from prod builds" 2016-09-09 05:43:35 -07:00
LayoutAnimation Auto-fix lint errors 2016-08-09 06:43:46 -07:00
Linking Auto-fix lint errors 2016-08-09 06:43:46 -07:00
LinkingIOS Update React Native minimum OS version to iOS8 2016-09-01 19:43:47 -07:00
Modal Allow <Modal /> to be presented in different orientations 2016-09-07 13:10:11 -07:00
NativeAnimation Add support for DiffClamp node 2016-09-06 15:43:35 -07:00
NavigationExperimental Deploy v0.32.0 2016-09-06 13:43:47 -07:00
Network For file uploads, don't stomp on developer's Content-Type header 2016-09-05 14:58:40 -07:00
PermissionsAndroid Change Android Permission Module to use promises 2016-08-16 12:58:39 -07:00
PushNotificationIOS registration error event 2016-09-06 11:13:40 -07:00
QuickPerformanceLogger AdsManager now uses new react native QPL identifiers 2016-07-20 07:28:36 -07:00
RCTTest Update React Native minimum OS version to iOS8 2016-09-01 19:43:47 -07:00
RKBackendNode Move React Core Integration to a Dependency 2016-04-21 09:28:23 -07:00
ReactIOS Deploy v0.32.0 2016-09-06 13:43:47 -07:00
ReactNative Move React Core Integration to a Dependency 2016-04-21 09:28:23 -07:00
Sample Update React Native minimum OS version to iOS8 2016-09-01 19:43:47 -07:00
Settings Update React Native minimum OS version to iOS8 2016-09-01 19:43:47 -07:00
Share Add Share module 2016-07-25 03:43:29 -07:00
Storage Auto-fix lint errors 2016-08-09 06:43:46 -07:00
StyleSheet Reverted commit D3855801 2016-09-14 11:28:34 -07:00
Text Include CSSLayout.h consistently with other project includes 2016-09-06 09:13:39 -07:00
Utilities Move buildStyleInterpolator-test to open-source, remove unused files 2016-09-09 10:58:59 -07:00
Vibration Update React Native minimum OS version to iOS8 2016-09-01 19:43:47 -07:00
WebSocket Updating Websocket readyState in case of websocketFailed event 2016-09-08 17:13:45 -07:00
react-native Remove react-native.js.flow 2016-09-14 02:58:40 -07:00
vendor Cleanup clear/set/throwImmediate 2016-08-12 07:28:38 -07:00
Promise.js Make onUnhandled safe for undefined errors 2016-08-02 07:58:28 -07:00
promiseRejectionIsError.js Add possibility to `console.error`/redbox on promise rejections 2016-03-15 05:22:22 -07:00