react-native/Libraries/Components
Slavik Manukyan ec6e274172 relativeKeyboardHeight works wrong in some cases
Summary:
relativeKeyboardHeight calculation is wrong when frame.y < keyboardFrame.y

Let's look at an example:

``` jsx
import React, { Component } from 'react';
import {
  KeyboardAvoidingView,
  TextInput,
  AppRegistry,
  Text,
  View
} from 'react-native';

export default class Test extends Component {
  constructor(props, context) {
    super(props, context);
  }

  render() {
    return (
      <View style={{flex: 1, marginTop: 20}}>
          <Text style={{ flex: 1, alignItems: 'center'}}>
            Hi! This is test.
          </Text>

          <KeyboardAvoidingView behavior={'position'} keyboardVerticalOffset={-20} >
            <TextInput
              style={{height: 40, borderColor: 'gray', borderWidth: 1}}
            />
          </KeyboardAvoidingView>
      </View>
    );
  }
}

AppRegistry.registerComponent('Test', () => Test);
```

![rn-relativekb](https://cloud.githubusercontent.com/assets/13254349/17298119/b2192830-5819-11e6-968c-d9e95b6e4aba.gif)

How _relativeKeyboardHeight_ calculates positio
Closes https://github.com/facebook/react-native/pull/9139

Differential Revision: D4168431

Pulled By: hramos

fbshipit-source-id: 9181276355490452071b51b51ed7dc9ab80b2444
2016-11-14 11:58:58 -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 Clean unused import modules. 2016-10-16 11:13:40 -07: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 Remove open source deprecation warning from MapView 2016-11-05 14:13:36 -07:00
Navigation Expose NavigatorIOS::replaceAtIndex 2016-11-11 12:58:35 -08:00
Picker Stop other views from stealing the responder from PickerIOS and DatePickerIOS 2016-11-07 18:13:53 -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 RN: Require {react/lib/ => }ReactNative 2016-10-14 18:59:10 -07: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 Convert from React.createClass to ES6 classes 2016-07-26 01:13:31 -07:00
TextInput RN: Update React (2/2) 2016-11-04 05:43:44 -07: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 TouchableOpacity: Respond instantly to first touch 2016-11-14 09:43:34 -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 RN: Require {react/lib/ => }ReactNative 2016-10-14 18:59:10 -07: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