Coder Social home page Coder Social logo

cesardeazevedo / react-native-bottom-sheet-behavior Goto Github PK

View Code? Open in Web Editor NEW
1.2K 26.0 114.0 3.63 MB

react-native wrapper for android BottomSheetBehavior

License: MIT License

Python 1.08% Java 69.32% JavaScript 29.60%
android react-native bottomsheet bottomsheetbehavior google-maps floatingactionbutton nestedscrollview

react-native-bottom-sheet-behavior's Introduction

react-native-bottom-sheet-behavior

react-native wrapper for android BottomSheetBehavior, supports FloatingActionButton.

npm version

Demo

react-native-bottom-sheet-behavior

See the Google Maps gif implementation

v1.0.0

This major release v1.0.0 supports anchor state, which means that you can have a middle state between collapsed and expanded.

This version now uses a custom BottomSheetBehavior implementation from miguelhincapie/CustomBottomSheetBehavior which is basically a fork from the original design-support, but with anchor state support and colors management, even though is custom implementation, old version should work as before, and you can also disable the anchor state with anchorEnabled prop which is disabled by default.

Components

The following components are included in this package:

  • CoordinatorLayout
  • BottomSheetBehavior
  • FloatingActionButton
  • MergedAppBarLayout
  • ScrollingAppBarLayout
  • BackdropBottomSheet
  • BottomSheetHeader

NOTE We expose some android core components such as CoordinatorLayout, AppBarLayout, FloatingActionButton, but they are NOT meant to be general purposed, and it may not work out of the context of this library, so use at your own risk.

iOS Alternative

If you are wondering some iOS alternative, i highly recommend react-native-interactable by wix, you can see their google maps approach here, which is very easy to get started.

Install

$ npm install react-native-bottom-sheet-behavior

Install with RNPM

$ react-native link react-native-bottom-sheet-behavior

Install Manually

Edit the current files as follows.

android/settings.gradle

include ':app'

+   include ':react-native-bottom-sheet-behavior'
+   project(':react-native-bottom-sheet-behavior').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-bottom-sheet-behavior/android')

android/app/build.gradle

    dependencies {
        implementation fileTree(dir: "libs", include: ["*.jar"])
        implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
+       implementation "com.android.support:design:${rootProject.ext.supportLibVersion}"
        implementation "com.facebook.react:react-native:+"  // From node_modules
+       implementation project(':react-native-bottom-sheet-behavior')
    }

MainApplication.java

+   import com.bottomsheetbehavior.BottomSheetBehaviorPackage;

    public class MainApplication extends Application implements ReactApplication {

      @Override
      protected List<ReactPackage> getPackages() {
        return Arrays.<ReactPackage>asList(
            new MainReactPackage(),
+           new BottomSheetBehaviorPackage()
        );
      }
    }

Usage

You will need to wrap your view into a CoordinatorLayout to make it work.

    render() {
      return (
          <CoordinatorLayout style={{flex: 1}}>
            <View style={{ flex: 1, backgroundColor: 'transparent' }}></View>
            <BottomSheetBehavior
              ref='bottomSheet'
              peekHeight={70}
              hideable={false}
              state={BottomSheetBehavior.STATE_COLLAPSED}>
              <View style={{backgroundColor: '#4389f2'}}>
                <View style={{padding: 26}}>
                  <Text>BottomSheetBehavior!</Text>
                </View>
                <View style={{height: 200, backgroundColor: '#fff'}} />
              </View>
            </BottomSheetBehavior>
            <FloatingActionButton autoAnchor ref="fab" />
          </CoordinatorLayout>
      )
    }

NOTE Make sure that your view has a backgroundColor style to prevent some "bugs" when rendering the container.

Components Order

You should follow this component order.

render() {
  return (
    <CoordinatorLayout>
      <ScrollingAppBarLayout>
        <ToolbarAndroid />
      </ScrollingAppBarLayout>
      <View>Main Content</View>
      <BackdropBottomSheet />
      <BottomSheetBehavior />
      <MergedAppBarLayout
        <ToolbarAndroid />
      </MergedAppBarLayout>
      <FloatingActionButton />
    </CoordinatorLayout>
  )
}

Events

In order to get the current bottom sheet state or offset, you can listen to onStateChange or onSlide respectively.

  <BottomSheetBehavior
    onSlide={(e) => console.log(e.nativeEvent.offset)}
    onStateChange={(e) => console.log(e.nativeEvent.state)}
  />

AppBarLayouts

We provide some custom AppBars that has custom behaviors, they automatically connects with BottomSheetBehavior in order to connects with ToolbarAndroid and toggle visibility, both AppBars can also manager StatusBar backgrounds.

Currently, AppBars only supports ToolbarAndroid as a child, you may have some troubles trying to render a custom View.

ScrollingAppBarLayout

This behavior hides and sets the StatusBar background to transparent when you starting dragging the BottomSheet, and reappears when the BottomSheet backs to the collapsed state, setting back the StatusBar background color with statusBarColor prop.

scrollingappbar

MergedAppBarLayout

The MergedAppBarLayout behavior appears when the BottomSheet reaches the anchor state (or expanded state if you're not using anchorEnabled). When the BottomSheet is getting over the MergedAppBar, it will partially sets the height of ToolbarAndroid revealing the mergedColor prop, and when the BottomSheet is fully expanded, it sets the ToolbarAndroid with the toolbarColor prop.

<MergedAppBarLayout
  translucent={true}
  barStyle='light-content'
  barStyleTransparent='dark-content'
  mergedColor='#1abc9c'
  toolbarColor='#34495e'
  statusBarColor='#2c3e50'>
  <ToolbarAndroid
    navIconName="md-arrow-back"
    overflowIconName='md-more'
    title='React Native Bar!'
    titleColor='#fff'
  />
</MergedAppBarLayout>

mergedappbar

merged_color

Translucent App Bars

Both AppBars supports translucent status bar, you can enable with translucent prop, which will basically adds top margins and NOT change the translucent itself, you should handle the translucent directely on the react-native StatusBar component.

FloatingActionButton

If you are using FloatingActionButton, the autoAnchor prop will automatically connect to BottomSheetBehavior, in order to follow when it's dragging.

<FloatingActionButton autoAnchor />

You still can do it manually though, by doing this.

  componentDidMount() {
    this.refs.fab.setAnchorId(this.refs.bottomSheet)
  }

FloatingActionButton's has a custom behavior that hides when closely reaches MergedAppBarLayout.

Support for react-native-vector-icons

You can also use react-native-vector-icons on FloatingActionButton, which will automatically load the icon for you.

  import Icon from 'react-native-vector-icons/Ionicons'

  ...

  render() {
    return (
      <FloatingActionButton icon={"directions"} iconProvider={Icon} />
    )
  }

You can check GoogleMapsView.js example.

BackdropBottomSheet

This component is rendered behind the BottomSheetBehavior, and behave like a parallax when BottomSheet is dragging. you should pass a fixed height prop that may match with anchorPoint prop from BottomSheet, in order to achieve a full screen view when reaches the anchor state.

BottomSheetHeader

This component abstracts color management between BottomSheet states on the native side, it will find all and components recursively and handles everything out the box.

NestedScrollView

If you are not using the anchor point, and want to add some nested scroll, you will need to install the react-native-nested-scroll-view to allows you to scroll inside bottom sheet continuously.

Note the react-native-nested-scroll-view is only useful when you are NOT using the anchorPoint.

react-native

NestedScrollView.js example

API

BottomSheetBehavior properties

Prop Description Default Value
state The state of the bottom sheet 4 (STATE_COLLAPSED)
peekHeight Peek Height value in DP 50
hideable Allow hide the bottom sheet false
anchorEnabled Enabled anchor point false
anchorPoint Anchor point where the bottom sheet should stay between collapsed and expanded 300
elevation Elevation shadow 0
onStateChange Callback when bottom sheet state changed
onSlide Callback continuously called while the user is dragging the bottom sheet

BottomSheetBehavior States

State Description
1 STATE_DRAGGING
2 STATE_SETTLING
3 STATE_EXPANDED
4 STATE_COLLAPSED
5 STATE_HIDDEN
6 STATE_ANCHOR_POINT
BottomSheetBehavior actions
Method Description
setBottomSheetState Sets the bottom sheet state
FloatingActionButton properties
Prop Description Default Value
src Drawable file under the drawable android folder
autoAnchor Attachs the button on bottom sheet automatically false
icon react-native-vector-icons name
iconProvider Icon package provided by react-native-vector-icons
iconColor Icon color
iconColorExpanded Icon expanded color when used by BottomSheetHeader
backgroundColor Background color
backgroundColorExpanded Background expanded color used by BottomSheetHeader
hidden Hides FloatingActionButton false
rippleEffect Enable rippleEffect true
rippleColor Ripple color
elevation Elevation shadow 18
onPress Callback called when touch is released
FloatingActionButton actions
Method Description
show This method will animate the button show if the view has already been laid out
hide This method will animate the button hide if the view has already been laid out
setAnchorId Attachs the button on bottom sheet by passing it as a argument (no needed if autoAnchor is set true)
ScrollingAppBarLayout properties
Prop Description
height Height of ScrollingAppBarLayout
statusBarColor Active status bar color
translucent Adds top margins on the AppBar to not draw behind the status bar
barStyle Status Bar style, (default, light-content, dark-content), used when the ScrollingAppBarLayout is present
barStyleTransparent Status Bar style, (default, light-content, dark-content), used when the ScrollingAppBarLayout is not present and the StatusBar is transparent
MergedAppBarLayout properties
Prop Description
height Height of ScrollingAppBarLayout
mergedColor Merged color when the bottom sheet is overlaying with ToolbarAndroid
toolbarColor The final ToolbarAndroid color when the bottom sheet is fully expanded
statusBarColor Active status bar color when bottom sheet is expanded
translucent Adds top margins on the AppBar to not draw behind the status bar
barStyle Status Bar style, (default, light-content, dark-content), used when the BottomSheet is fully expanded
barStyleTransparent Status Bar style, (default, light-content, dark-content), used when the AppBar is transparent
BottomSheetHeader properties
Prop Description
textColorExpanded The state of the bottom sheet
backgroundColor Background color when collased
backgroundColorExpanded Background color when anchored or expanded
onPress Callback called when header touch is released

License

MIT

react-native-bottom-sheet-behavior's People

Contributors

andreyco avatar cesardeazevedo avatar fdnhkj avatar florianapplike avatar jazmon avatar she-dev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

react-native-bottom-sheet-behavior's Issues

Bottom container height without anchor point

Hey! First of all, awesome library!

I'm trying to set the hight of the expanded bottom sheet without using an anchor point but I can't seem to find any option to do that. Is it possible to get a prop that sets that?

Best wishes!

FloatingActionButtonShadowNode compilation error

Hello!

Thanks for your repo!
I am trying to use it but I am facing following issue when compiling.

:react-native-bottom-sheet-behavior:compileReleaseJavaWithJavac
/Users/user/vscode-projects/reactNativeProject/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonShadowNode.java:10: error: FloatingActionButtonShadowNode is not abstract and does not override abstract method measure(CSSNodeAPI,float,CSSMeasureMode,float,CSSMeasureMode,MeasureOutput) in MeasureFunction
public class FloatingActionButtonShadowNode extends LayoutShadowNode implements CSSNode.MeasureFunction {
^
/Users/user/vscode-projects/reactNativeProject/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonShadowNode.java:19: error: method does not override or implement a method from a supertype
@OverRide
^
Note: /Users/user/vscode-projects/reactNativeProject/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ResourceDrawableIdHelper.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /Users/user/vscode-projects/reactNativeProject/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonManager.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
2 errors
:react-native-bottom-sheet-behavior:compileReleaseJavaWithJavac FAILED

FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':react-native-bottom-sheet-behavior:compileReleaseJavaWithJavac'.
Compilation failed; see the compiler error output for details.

Here are the dependencies I use

  "dependencies": {
    "react": "15.3.1",
    "react-native": "^0.32.0",
    "react-native-bottom-sheet-behavior": "0.0.4",
    "react-native-maps": "0.8.2",
    "react-native-router-flux": "^3.35.0",
    "react-redux": "^4.4.5",
    "redux": "^3.6.0",
    "redux-thunk": "^2.1.0"
  },

STATE_HIDDEN not working

STATE_HIDDEN renders the same view as STATE_COLLAPSED.
`<CoordinatorLayout style={{flex: 1}}>
<View style={{ flex: 1, backgroundColor: 'transparent' }}>
<BottomSheetBehavior

        ref='bottomSheet'
        peekHeight={70}
        hideable={true}
        state={BottomSheetBehavior.STATE_HIDDEN}>
        <View style={{backgroundColor: '#4389f2'}}>
          <View style={{padding: 26}}>
            <Text>BottomSheetBehavior!</Text>
          </View>
          <View style={{height: 200, backgroundColor: '#fff'}} />
        </View>
      </BottomSheetBehavior>
      <FloatingActionButton autoAnchor ref="fab" />
    </CoordinatorLayout>`

Package android.support.design.widget does not exist

Hello,
On a new project created with react-native-cli (not Expo) I get the following error after installing and linking this library

Adding "com.android.support:design" and "com.android.support:support" did not help either. The error code remains the same.

> Task :react-native-bottom-sheet-behavior:compileDebugJavaWithJavac FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.4.1/userguide/command_line_interface.html#sec:command_line_warnings
14 actionable tasks: 2 executed, 12 up-to-date
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonView.java:10: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonView.java:11: error: package android.support.design.widget does not exist
import android.support.design.widget.FloatingActionButton;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonView.java:19: error: cannot find symbol
public class FloatingActionButtonView extends FloatingActionButton {
                                              ^
  symbol: class FloatingActionButton
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/CoordinatorLayoutView.java:4: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/CoordinatorLayoutView.java:7: error: cannot find symbol
public class CoordinatorLayoutView extends CoordinatorLayout {
                                           ^
  symbol: class CoordinatorLayout
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:4: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:5: error: package android.support.design.widget does not exist
import android.support.design.widget.AppBarLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:6: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:7: error: package android.support.design.widget does not exist
import android.support.design.widget.FloatingActionButton;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:8: error: package android.support.v4.view does not exist
import android.support.v4.view.ViewCompat;
                              ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:9: error: package android.support.v4.widget does not exist
import android.support.v4.widget.NestedScrollView;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:35: error: package FloatingActionButton does not exist
public class ScrollAwareFABBehavior extends FloatingActionButton.Behavior {
                                                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:6: error: package android.support.annotation does not exist
import android.support.annotation.IntDef;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:7: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:8: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:9: error: package android.support.v4.view does not exist
import android.support.v4.view.MotionEventCompat;
                              ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:10: error: package android.support.v4.view does not exist
import android.support.v4.view.NestedScrollingChild;
                              ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:11: error: package android.support.v4.view does not exist
import android.support.v4.view.ViewCompat;
                              ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:12: error: package android.support.v4.widget does not exist
import android.support.v4.widget.ViewDragHelper;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:28: error: package CoordinatorLayout does not exist
public class RNBottomSheetBehavior<V extends View> extends CoordinatorLayout.Behavior<V> {
                                                                            ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:56: error: cannot find symbol
    public boolean onStartNestedScroll(final CoordinatorLayout coordinatorLayout, final FloatingActionButton child,
                                             ^
  symbol:   class CoordinatorLayout
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:56: error: cannot find symbol
    public boolean onStartNestedScroll(final CoordinatorLayout coordinatorLayout, final FloatingActionButton child,
                                                                                        ^
  symbol:   class FloatingActionButton
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:63: error: cannot find symbol
    public boolean layoutDependsOn(CoordinatorLayout parent, FloatingActionButton child, View dependency) {
                                   ^
  symbol:   class CoordinatorLayout
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:63: error: cannot find symbol
    public boolean layoutDependsOn(CoordinatorLayout parent, FloatingActionButton child, View dependency) {
                                                             ^
  symbol:   class FloatingActionButton
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:75: error: cannot find symbol
    public boolean onDependentViewChanged(CoordinatorLayout parent, FloatingActionButton child, View dependency) {
                                          ^
  symbol:   class CoordinatorLayout
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:75: error: cannot find symbol
    public boolean onDependentViewChanged(CoordinatorLayout parent, FloatingActionButton child, View dependency) {
                                                                    ^
  symbol:   class FloatingActionButton
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:118: error: cannot find symbol
    private int getDyBetweenChildAndDependency(@NonNull FloatingActionButton child, @NonNull View dependency) {
                                                        ^
  symbol:   class FloatingActionButton
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:132: error: cannot find symbol
    private void setOffsetValue(CoordinatorLayout coordinatorLayout) {
                                ^
  symbol:   class CoordinatorLayout
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:152: error: cannot find symbol
    private void getBottomSheetBehavior(@NonNull CoordinatorLayout coordinatorLayout) {
                                                 ^
  symbol:   class CoordinatorLayout
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:113: error: cannot find symbol
  private ViewDragHelper mViewDragHelper;
          ^
  symbol:   class ViewDragHelper
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:144: error: cannot find symbol
  public Parcelable onSaveInstanceState( CoordinatorLayout parent, V child ) {
                                         ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:149: error: cannot find symbol
  public void onRestoreInstanceState( CoordinatorLayout parent, V child, Parcelable state ) {
                                      ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:163: error: cannot find symbol
  public boolean onLayoutChild( CoordinatorLayout parent, V child, int layoutDirection ) {
                                ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:201: error: cannot find symbol
  public boolean onInterceptTouchEvent( CoordinatorLayout parent, V child, MotionEvent event ) {
                                        ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:262: error: cannot find symbol
  public boolean onTouchEvent( CoordinatorLayout parent, V child, MotionEvent event ) {
                               ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:294: error: cannot find symbol
  public boolean onStartNestedScroll( CoordinatorLayout coordinatorLayout, V child, View directTargetChild, View target, int nestedScrollAxes ) {
                                      ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:326: error: cannot find symbol
  public void onNestedPreScroll( CoordinatorLayout coordinatorLayout, V child, View target, int dx, int dy, int[] consumed ) {
                                 ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:381: error: cannot find symbol
  public void onStopNestedScroll( CoordinatorLayout coordinatorLayout, V child, View target ) {
                                  ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:471: error: cannot find symbol
  public boolean onNestedPreFling(CoordinatorLayout coordinatorLayout, V child, View target,
                                  ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:682: error: package ViewDragHelper does not exist
  private final ViewDragHelper.Callback mDragCallback = new ViewDragHelper.Callback() {
                              ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:6: error: package android.support.design.widget does not exist
import android.support.design.widget.AppBarLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:7: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:8: error: package android.support.v7.widget does not exist
import android.support.v7.widget.Toolbar;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:18: error: cannot find symbol
public class MergedAppBarLayoutManager extends ViewGroupManager<AppBarLayout> {
                                                                ^
  symbol: class AppBarLayout
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:11: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:12: error: package android.support.design.widget does not exist
import android.support.design.widget.AppBarLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:13: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:14: error: package android.support.v4.content does not exist
import android.support.v4.content.ContextCompat;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:15: error: package android.support.v4.widget does not exist
import android.support.v4.widget.NestedScrollView;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:16: error: package android.support.v7.widget does not exist
import android.support.v7.widget.Toolbar;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:52: error: package AppBarLayout does not exist
public class MergedAppBarLayoutBehavior extends AppBarLayout.ScrollingViewBehavior {
                                                            ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:36: error: cannot find symbol
    public AppBarLayout createViewInstance(ThemedReactContext context) {
           ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:51: error: cannot find symbol
    public void setTranslucent(AppBarLayout view, boolean translucent) {
                               ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:60: error: cannot find symbol
    public void setBarStyle(AppBarLayout view, String barStyle) {
                            ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:65: error: cannot find symbol
    public void setBarStyleTransparent(AppBarLayout view, String barStyle) {
                                       ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:70: error: cannot find symbol
    public void setMergedColor(AppBarLayout view, String mergedColor) {
                               ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:78: error: cannot find symbol
    public void setToolbarColor(AppBarLayout view, String toolbarColor) {
                                ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:88: error: cannot find symbol
    public void setStatusBarColor(AppBarLayout view, String statusBarColor) {
                                  ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:97: error: cannot find symbol
    public void setHeight(AppBarLayout view, int height) {
                          ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:104: error: cannot find symbol
    public void addView(AppBarLayout parent, View child, int index) {
                        ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:70: error: cannot find symbol
    private Toolbar mToolbar;
            ^
  symbol:   class Toolbar
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:87: error: cannot find symbol
    public boolean layoutDependsOn(CoordinatorLayout parent, View child, View dependency) {
                                   ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:99: error: cannot find symbol
    public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) {
                                          ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:143: error: cannot find symbol
    private void init(@NonNull CoordinatorLayout parent, @NonNull View child){
                               ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:176: error: cannot find symbol
    private void getBottomSheetBehavior(@NonNull CoordinatorLayout coordinatorLayout) {
                                                 ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:193: error: cannot find symbol
    private boolean isDependencyYBelowAnchorPoint(@NonNull CoordinatorLayout parent, @NonNull View dependency){
                                                           ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:199: error: cannot find symbol
    private boolean isDependencyYBetweenAnchorPointAndToolbar(@NonNull CoordinatorLayout parent, @NonNull View child, @NonNull View dependency){
                                                                       ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:240: error: cannot find symbol
    private View findTitleTextView(Toolbar toolbar){
                                   ^
  symbol:   class Toolbar
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:346: error: cannot find symbol
    public void setToolbar(Toolbar toolbar) {
                           ^
  symbol:   class Toolbar
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:371: error: cannot find symbol
    public Parcelable onSaveInstanceState(CoordinatorLayout parent, View child) {
                                          ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:376: error: cannot find symbol
    public void onRestoreInstanceState(CoordinatorLayout parent, View child, Parcelable state) {
                                       ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorManager.java:3: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorManager.java:4: error: package android.support.v4.view does not exist
import android.support.v4.view.ViewCompat;
                              ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorManager.java:5: error: package android.support.v4.widget does not exist
import android.support.v4.widget.NestedScrollView;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorView.java:4: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorView.java:5: error: package android.support.v4.widget does not exist
import android.support.v4.widget.NestedScrollView;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorView.java:12: error: cannot find symbol
public class BottomSheetBehaviorView extends NestedScrollView {
                                             ^
  symbol: class NestedScrollView
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorManager.java:144: error: cannot find symbol
    private void attachNestedScrollChild(final BottomSheetBehaviorView parent, final NestedScrollView nestedScroll) {
                                                                                     ^
  symbol:   class NestedScrollView
  location: class BottomSheetBehaviorManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetManager.java:3: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:4: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:5: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:6: error: package android.support.v4.widget does not exist
import android.support.v4.widget.NestedScrollView;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:39: error: package CoordinatorLayout does not exist
public class BackdropBottomSheetBehavior<V extends View> extends CoordinatorLayout.Behavior<V> {
                                                                                  ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:57: error: cannot find symbol
  public boolean layoutDependsOn(CoordinatorLayout parent, View child, View dependency) {
                                 ^
  symbol:   class CoordinatorLayout
  location: class BackdropBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class BackdropBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:70: error: cannot find symbol
  public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) {
                                        ^
  symbol:   class CoordinatorLayout
  location: class BackdropBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class BackdropBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:109: error: cannot find symbol
  private void getBottomSheetBehavior(@NonNull CoordinatorLayout coordinatorLayout) {
                                               ^
  symbol:   class CoordinatorLayout
  location: class BackdropBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class BackdropBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/CoordinatorLayoutManager.java:3: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/CoordinatorLayoutManager.java:48: error: cannot find symbol
    private void setFabAnchor(CoordinatorLayout parent, View child) {
                              ^
  symbol:   class CoordinatorLayout
  location: class CoordinatorLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:87: error: cannot find symbol
  @IntDef({STATE_EXPANDED, STATE_COLLAPSED, STATE_DRAGGING, STATE_ANCHOR_POINT, STATE_SETTLING, STATE_HIDDEN})
   ^
  symbol:   class IntDef
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:10: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:11: error: package android.support.design.widget does not exist
import android.support.design.widget.AppBarLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:12: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:13: error: package android.support.v4.content does not exist
import android.support.v4.content.ContextCompat;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:14: error: package android.support.v4.widget does not exist
import android.support.v4.widget.NestedScrollView;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:44: error: package AppBarLayout does not exist
public class ScrollingAppBarLayoutBehavior extends AppBarLayout.ScrollingViewBehavior {
                                                               ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:69: error: cannot find symbol
    public boolean layoutDependsOn(CoordinatorLayout parent, View child, View dependency) {
                                   ^
  symbol:   class CoordinatorLayout
  location: class ScrollingAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:81: error: cannot find symbol
    public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) {
                                          ^
  symbol:   class CoordinatorLayout
  location: class ScrollingAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:92: error: cannot find symbol
    public Parcelable onSaveInstanceState(CoordinatorLayout parent, View child) {
                                          ^
  symbol:   class CoordinatorLayout
  location: class ScrollingAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:97: error: cannot find symbol
    public void onRestoreInstanceState(CoordinatorLayout parent, View child, Parcelable state) {
                                       ^
  symbol:   class CoordinatorLayout
  location: class ScrollingAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:103: error: cannot find symbol
    private boolean init(CoordinatorLayout parent, View child, View dependency) {
                         ^
  symbol:   class CoordinatorLayout
  location: class ScrollingAppBarLayoutBehavior
Note: /home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ResourceDrawableIdHelper.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonManager.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
100 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-bottom-sheet-behavior:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 12s

error Failed to install the app. Make sure you have the Android development environment set up: https://facebook.github.io/react-native/docs/getting-started.html#android-development-environment. Run CLI with --verbose flag for more details.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonView.java:10: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonView.java:11: error: package android.support.design.widget does not exist
import android.support.design.widget.FloatingActionButton;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonView.java:19: error: cannot find symbol
public class FloatingActionButtonView extends FloatingActionButton {
                                              ^
  symbol: class FloatingActionButton
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/CoordinatorLayoutView.java:4: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/CoordinatorLayoutView.java:7: error: cannot find symbol
public class CoordinatorLayoutView extends CoordinatorLayout {
                                           ^
  symbol: class CoordinatorLayout
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:4: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:5: error: package android.support.design.widget does not exist
import android.support.design.widget.AppBarLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:6: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:7: error: package android.support.design.widget does not exist
import android.support.design.widget.FloatingActionButton;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:8: error: package android.support.v4.view does not exist
import android.support.v4.view.ViewCompat;
                              ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:9: error: package android.support.v4.widget does not exist
import android.support.v4.widget.NestedScrollView;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:35: error: package FloatingActionButton does not exist
public class ScrollAwareFABBehavior extends FloatingActionButton.Behavior {
                                                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:6: error: package android.support.annotation does not exist
import android.support.annotation.IntDef;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:7: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:8: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:9: error: package android.support.v4.view does not exist
import android.support.v4.view.MotionEventCompat;
                              ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:10: error: package android.support.v4.view does not exist
import android.support.v4.view.NestedScrollingChild;
                              ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:11: error: package android.support.v4.view does not exist
import android.support.v4.view.ViewCompat;
                              ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:12: error: package android.support.v4.widget does not exist
import android.support.v4.widget.ViewDragHelper;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:28: error: package CoordinatorLayout does not exist
public class RNBottomSheetBehavior<V extends View> extends CoordinatorLayout.Behavior<V> {
                                                                            ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:56: error: cannot find symbol
    public boolean onStartNestedScroll(final CoordinatorLayout coordinatorLayout, final FloatingActionButton child,
                                             ^
  symbol:   class CoordinatorLayout
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:56: error: cannot find symbol
    public boolean onStartNestedScroll(final CoordinatorLayout coordinatorLayout, final FloatingActionButton child,
                                                                                        ^
  symbol:   class FloatingActionButton
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:63: error: cannot find symbol
    public boolean layoutDependsOn(CoordinatorLayout parent, FloatingActionButton child, View dependency) {
                                   ^
  symbol:   class CoordinatorLayout
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:63: error: cannot find symbol
    public boolean layoutDependsOn(CoordinatorLayout parent, FloatingActionButton child, View dependency) {
                                                             ^
  symbol:   class FloatingActionButton
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:75: error: cannot find symbol
    public boolean onDependentViewChanged(CoordinatorLayout parent, FloatingActionButton child, View dependency) {
                                          ^
  symbol:   class CoordinatorLayout
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:75: error: cannot find symbol
    public boolean onDependentViewChanged(CoordinatorLayout parent, FloatingActionButton child, View dependency) {
                                                                    ^
  symbol:   class FloatingActionButton
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:118: error: cannot find symbol
    private int getDyBetweenChildAndDependency(@NonNull FloatingActionButton child, @NonNull View dependency) {
                                                        ^
  symbol:   class FloatingActionButton
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:132: error: cannot find symbol
    private void setOffsetValue(CoordinatorLayout coordinatorLayout) {
                                ^
  symbol:   class CoordinatorLayout
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:152: error: cannot find symbol
    private void getBottomSheetBehavior(@NonNull CoordinatorLayout coordinatorLayout) {
                                                 ^
  symbol:   class CoordinatorLayout
  location: class ScrollAwareFABBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:113: error: cannot find symbol
  private ViewDragHelper mViewDragHelper;
          ^
  symbol:   class ViewDragHelper
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:144: error: cannot find symbol
  public Parcelable onSaveInstanceState( CoordinatorLayout parent, V child ) {
                                         ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:149: error: cannot find symbol
  public void onRestoreInstanceState( CoordinatorLayout parent, V child, Parcelable state ) {
                                      ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:163: error: cannot find symbol
  public boolean onLayoutChild( CoordinatorLayout parent, V child, int layoutDirection ) {
                                ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:201: error: cannot find symbol
  public boolean onInterceptTouchEvent( CoordinatorLayout parent, V child, MotionEvent event ) {
                                        ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:262: error: cannot find symbol
  public boolean onTouchEvent( CoordinatorLayout parent, V child, MotionEvent event ) {
                               ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:294: error: cannot find symbol
  public boolean onStartNestedScroll( CoordinatorLayout coordinatorLayout, V child, View directTargetChild, View target, int nestedScrollAxes ) {
                                      ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:326: error: cannot find symbol
  public void onNestedPreScroll( CoordinatorLayout coordinatorLayout, V child, View target, int dx, int dy, int[] consumed ) {
                                 ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:381: error: cannot find symbol
  public void onStopNestedScroll( CoordinatorLayout coordinatorLayout, V child, View target ) {
                                  ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:471: error: cannot find symbol
  public boolean onNestedPreFling(CoordinatorLayout coordinatorLayout, V child, View target,
                                  ^
  symbol:   class CoordinatorLayout
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:682: error: package ViewDragHelper does not exist
  private final ViewDragHelper.Callback mDragCallback = new ViewDragHelper.Callback() {
                              ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:6: error: package android.support.design.widget does not exist
import android.support.design.widget.AppBarLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:7: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:8: error: package android.support.v7.widget does not exist
import android.support.v7.widget.Toolbar;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:18: error: cannot find symbol
public class MergedAppBarLayoutManager extends ViewGroupManager<AppBarLayout> {
                                                                ^
  symbol: class AppBarLayout
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:11: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:12: error: package android.support.design.widget does not exist
import android.support.design.widget.AppBarLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:13: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:14: error: package android.support.v4.content does not exist
import android.support.v4.content.ContextCompat;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:15: error: package android.support.v4.widget does not exist
import android.support.v4.widget.NestedScrollView;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:16: error: package android.support.v7.widget does not exist
import android.support.v7.widget.Toolbar;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:52: error: package AppBarLayout does not exist
public class MergedAppBarLayoutBehavior extends AppBarLayout.ScrollingViewBehavior {
                                                            ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:36: error: cannot find symbol
    public AppBarLayout createViewInstance(ThemedReactContext context) {
           ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:51: error: cannot find symbol
    public void setTranslucent(AppBarLayout view, boolean translucent) {
                               ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:60: error: cannot find symbol
    public void setBarStyle(AppBarLayout view, String barStyle) {
                            ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:65: error: cannot find symbol
    public void setBarStyleTransparent(AppBarLayout view, String barStyle) {
                                       ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:70: error: cannot find symbol
    public void setMergedColor(AppBarLayout view, String mergedColor) {
                               ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:78: error: cannot find symbol
    public void setToolbarColor(AppBarLayout view, String toolbarColor) {
                                ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:88: error: cannot find symbol
    public void setStatusBarColor(AppBarLayout view, String statusBarColor) {
                                  ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:97: error: cannot find symbol
    public void setHeight(AppBarLayout view, int height) {
                          ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:104: error: cannot find symbol
    public void addView(AppBarLayout parent, View child, int index) {
                        ^
  symbol:   class AppBarLayout
  location: class MergedAppBarLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:70: error: cannot find symbol
    private Toolbar mToolbar;
            ^
  symbol:   class Toolbar
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:87: error: cannot find symbol
    public boolean layoutDependsOn(CoordinatorLayout parent, View child, View dependency) {
                                   ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:99: error: cannot find symbol
    public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) {
                                          ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:143: error: cannot find symbol
    private void init(@NonNull CoordinatorLayout parent, @NonNull View child){
                               ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:176: error: cannot find symbol
    private void getBottomSheetBehavior(@NonNull CoordinatorLayout coordinatorLayout) {
                                                 ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:193: error: cannot find symbol
    private boolean isDependencyYBelowAnchorPoint(@NonNull CoordinatorLayout parent, @NonNull View dependency){
                                                           ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:199: error: cannot find symbol
    private boolean isDependencyYBetweenAnchorPointAndToolbar(@NonNull CoordinatorLayout parent, @NonNull View child, @NonNull View dependency){
                                                                       ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:240: error: cannot find symbol
    private View findTitleTextView(Toolbar toolbar){
                                   ^
  symbol:   class Toolbar
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:346: error: cannot find symbol
    public void setToolbar(Toolbar toolbar) {
                           ^
  symbol:   class Toolbar
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:371: error: cannot find symbol
    public Parcelable onSaveInstanceState(CoordinatorLayout parent, View child) {
                                          ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:376: error: cannot find symbol
    public void onRestoreInstanceState(CoordinatorLayout parent, View child, Parcelable state) {
                                       ^
  symbol:   class CoordinatorLayout
  location: class MergedAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorManager.java:3: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorManager.java:4: error: package android.support.v4.view does not exist
import android.support.v4.view.ViewCompat;
                              ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorManager.java:5: error: package android.support.v4.widget does not exist
import android.support.v4.widget.NestedScrollView;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorView.java:4: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorView.java:5: error: package android.support.v4.widget does not exist
import android.support.v4.widget.NestedScrollView;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorView.java:12: error: cannot find symbol
public class BottomSheetBehaviorView extends NestedScrollView {
                                             ^
  symbol: class NestedScrollView
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorManager.java:144: error: cannot find symbol
    private void attachNestedScrollChild(final BottomSheetBehaviorView parent, final NestedScrollView nestedScroll) {
                                                                                     ^
  symbol:   class NestedScrollView
  location: class BottomSheetBehaviorManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetManager.java:3: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:4: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:5: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:6: error: package android.support.v4.widget does not exist
import android.support.v4.widget.NestedScrollView;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:39: error: package CoordinatorLayout does not exist
public class BackdropBottomSheetBehavior<V extends View> extends CoordinatorLayout.Behavior<V> {
                                                                                  ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:57: error: cannot find symbol
  public boolean layoutDependsOn(CoordinatorLayout parent, View child, View dependency) {
                                 ^
  symbol:   class CoordinatorLayout
  location: class BackdropBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class BackdropBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:70: error: cannot find symbol
  public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) {
                                        ^
  symbol:   class CoordinatorLayout
  location: class BackdropBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class BackdropBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:109: error: cannot find symbol
  private void getBottomSheetBehavior(@NonNull CoordinatorLayout coordinatorLayout) {
                                               ^
  symbol:   class CoordinatorLayout
  location: class BackdropBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class BackdropBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/CoordinatorLayoutManager.java:3: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/CoordinatorLayoutManager.java:48: error: cannot find symbol
    private void setFabAnchor(CoordinatorLayout parent, View child) {
                              ^
  symbol:   class CoordinatorLayout
  location: class CoordinatorLayoutManager
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:87: error: cannot find symbol
  @IntDef({STATE_EXPANDED, STATE_COLLAPSED, STATE_DRAGGING, STATE_ANCHOR_POINT, STATE_SETTLING, STATE_HIDDEN})
   ^
  symbol:   class IntDef
  location: class RNBottomSheetBehavior<V>
  where V is a type-variable:
    V extends View declared in class RNBottomSheetBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:10: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:11: error: package android.support.design.widget does not exist
import android.support.design.widget.AppBarLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:12: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
                                    ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:13: error: package android.support.v4.content does not exist
import android.support.v4.content.ContextCompat;
                                 ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:14: error: package android.support.v4.widget does not exist
import android.support.v4.widget.NestedScrollView;
                                ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:44: error: package AppBarLayout does not exist
public class ScrollingAppBarLayoutBehavior extends AppBarLayout.ScrollingViewBehavior {
                                                               ^
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:69: error: cannot find symbol
    public boolean layoutDependsOn(CoordinatorLayout parent, View child, View dependency) {
                                   ^
  symbol:   class CoordinatorLayout
  location: class ScrollingAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:81: error: cannot find symbol
    public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) {
                                          ^
  symbol:   class CoordinatorLayout
  location: class ScrollingAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:92: error: cannot find symbol
    public Parcelable onSaveInstanceState(CoordinatorLayout parent, View child) {
                                          ^
  symbol:   class CoordinatorLayout
  location: class ScrollingAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:97: error: cannot find symbol
    public void onRestoreInstanceState(CoordinatorLayout parent, View child, Parcelable state) {
                                       ^
  symbol:   class CoordinatorLayout
  location: class ScrollingAppBarLayoutBehavior
/home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:103: error: cannot find symbol
    private boolean init(CoordinatorLayout parent, View child, View dependency) {
                         ^
  symbol:   class CoordinatorLayout
  location: class ScrollingAppBarLayoutBehavior
Note: /home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ResourceDrawableIdHelper.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /home/replacedit/Sites/Tests/AwesomeProject2/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonManager.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
100 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-bottom-sheet-behavior:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 12s

Thank you for your time.

Could not find a declaration file for module 'react-native-bottom-sheet-behavior'

while I added this component to my react-native project, the application screen turns to white empty page.
The import react-native-bottom-sheet-behavior line has '...' near the package name:

screenshot_5

and it has this message:
[ts]
Could not find a declaration file for module 'react-native-bottom-sheet-behavior'. '/project/node_modules/react-native-bottom-sheet-behavior/index.js' implicitly has an 'any' type.
Try npm install @types/react-native-bottom-sheet-behavior if it exists or add a new declaration (.d.ts) file containing `declare module 'react-native-bottom-sheet-behavior';

npm install @types/react-native-bottom-sheet-behavior couldn't help, because this package doesn't exist in npm.

react: "16.6.0-alpha.8af6728"
react-native: "0.57.3"
react-native-bottom-sheet-behavior: "^1.0.0"

Null pointer exception shouldInterceptTouchEvent

Weโ€™re seeing the following crashes in production.

It seems to be a race condition as itโ€™s hitting across a wide range of OS versions and devices.

com.bottomsheetbehavior.RNBottomSheetBehavior.onInterceptTouchEvent
RNBottomSheetBehavior.java - line 247

java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.support.v4.widget.ViewDragHelper.shouldInterceptTouchEvent(android.view.MotionEvent)' on a null object reference

1
com.bottomsheetbehavior.RNBottomSheetBehavior.onInterceptTouchEvent RNBottomSheetBehavior.java:247
2
android.support.design.widget.CoordinatorLayout.resetTouchBehaviors CoordinatorLayout.java:394

(Pardon the poorly formatted code, posting from mobile)

Update: Just a FYI, weโ€™re running on 27.0.2 support lib.

Pass touch events to underlying view when BackdropBottomSheet is not defined while at anchor point

Hey,

we have a use case quite similar to the standard google maps. However, we have one noticeable difference: When the bottom sheet is resting at the middle anchor point, we want touch events from the top part of the view (not covered by bottom sheet) to be propagated down into the underlying view (a map view).

Our bottom sheet component view stack is like this:

<CoordinatorLayout>
          {isVisible && (
            <BottomSheetBehavior
              peekHeight={190}
              hideable={false}
              anchorEnabled={true}
              anchorPoint={anchorPoint}
              elevation={10}
              state={behaviorState}
              onStateChange={this.handleStateChange}
            >
              <View style={styles.coordinatorContent}>{children}</View>
            </BottomSheetBehavior>
          )}
</CoordinatorLayout>

This component sits on top of the rest of the view stack.

When the bottom sheet is in position COLLAPSED, the underlying views get their properly propagated touch events. However in state ANCHOR_POINT, the underlying view does not receive any touch events in the "non-covered area", and dragging in this area moves the bottom sheet.

The expected behaviour in this case would be that touches and drag events in the non-covered area is propagated to the underlying views in the same fashion as in the COLLAPSED state.

Question about height in ScrollingAppBarLayout

It's possible to instead of giving a fixed height to the component, make it fit the content?

Im trying to implement https://github.com/ptnz/react-native-google-places-autocomplete/ a search bar that suggests places using google api, but it loads a view that fits the container when something is searched, it works correctly until it's inside the ScrollingAppBarLayout as it has to have a fixed height or leaving it empty means that will fit the entire window even if nothing is searched.

thanks

Possible to animate from STATE_COLLAPSED to STATE_EXPANDED?

Is it possible to animate from STATE_COLLAPSED to STATE_EXPANDED? Animating from STATE_EXPANDED to STATE_COLLAPSED seems to happen without needing to add anything special. Also, are there any plans to make the animation durations configurable?

Manually Link issue Invariant Violation Native Component for BSBottomSheetBehaviourAndroid Does not exist

implementation project(':react-native-vector-icons')
implementation project(':react-native-nested-scroll-view')
implementation project(':react-native-bottom-sheet-behavior')

project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android')
project(':react-native-nested-scroll-view').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-nested-scroll-view/android')
project(':react-native-bottom-sheet-behavior').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-bottom-sheet-behavior/android')

if (mReactRootView==null) {
mReactRootView = new ReactRootView(this);
mReactInstanceManager = ReactInstanceManager.builder()
.setApplication(getApplication())
.setBundleAssetName("index.android.bundle")
.setJSMainModulePath("index")
.addPackage(new MainReactPackage())
.addPackage(new RNNestedScrollViewPackage())
.addPackage(new RealmReactPackage())
.addPackage(new BottomSheetBehaviorPackage())
.addPackage(new VectorIconsPackage())
.setUseDeveloperSupport(BuildConfig.DEBUG)
.setInitialLifecycleState(LifecycleState.RESUMED)
.build();
// The string here (e.g. "MyReactNativeApp") has to match
// the string in AppRegistry.registerComponent() in index.js
mReactRootView.startReactApplication(mReactInstanceManager, "MyReactNativeApp", null);
}
setContentView(mReactRootView);

Compile error with latest react native (0.32)

Hi When I try and react-native run-android I get the following:

/Users/Papa/work/SnappMapp/Src/Spikes/TestBottomSheet/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonShadowNode.java:10: error: FloatingActionButtonShadowNode is not abstract and does not override abstract method measure(CSSNodeAPI,float,CSSMeasureMode,float,CSSMeasureMode,MeasureOutput) in MeasureFunction
public class FloatingActionButtonShadowNode extends LayoutShadowNode implements CSSNode.MeasureFunction {
       ^
/Users/Papa/work/SnappMapp/Src/Spikes/TestBottomSheet/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonShadowNode.java:19: error: method does not override or implement a method from a supertype
    @Override
    ^
Note: /Users/Papa/work/SnappMapp/Src/Spikes/TestBottomSheet/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ResourceDrawableIdHelper.java uses or overrides a deprecated API.

Any ideas?

state is not being updated

In v1.0.0-beta version the state "state" of the BottomSheetBehavior component never changes, everything works but it doesn't gets updated (always is null) so you cannot read in which state is the component

Usage issue: RCTBottomSheetBehaviorAndroid.Commands

Hello,
In a new project, when trying the basic example in the readme, something like:

    return (
      <CoordinatorLayout style={styles.container}>
        <View style={{ flex: 1, backgroundColor: 'transparent' }}></View>
        <BottomSheetBehavior
            ref="bottomSheet"
            peekHeight={50}
            hideable={true}
            state={BottomSheetBehavior.STATE_COLLAPSED}>
            <View></View>
        </BottomSheetBehavior>
        <FloatingActionButton ref="fab" />
      </CoordinatorLayout>
    );

I get the following error:

undefined is not an object (evaluating '_reactNative.UIManager.RCTBottomSheetBehaviorAndroid.Commands')

I have no idea where the issue is coming from.

Crashes when dragging if keyboard is open

It crashes with the error

Error calling RCTEventEmitter.receiveEvent
folly::toJson: JSON object value was a NaN or INF

when trying to collapse the bottom-sheet by dragging it downwards.

30065262-8f8548dc-9254-11e7-9165-7540117e8aa3

As per my observation, this issue occurs only when keyboard is already open and we try to collapse BottomSheet

Can't Build React-Native App

I can run project on android (react-native run-android), but when I want to build the project (.\gradlew.bat assembleRelease), it gives me this error:

Execution failed for task ':react-native-bottom-sheet-behavior:verifyReleaseResources'.
> java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed
  C:\Users\Mehrdad\Desktop\Sample\Sample\node_modules\react-native-bottom-sheet-behavior\android\build\intermediates\res\merged\release\values-v28\values-v28.xml:7: error: resource android:attr/dialogCornerRadius not found.
  C:\Users\Mehrdad\Desktop\Sample\Sample\node_modules\react-native-bottom-sheet-behavior\android\build\intermediates\res\merged\release\values-v28\values-v28.xml:11: error: resource android:attr/dialogCornerRadius not found.
  C:\Users\Mehrdad\Desktop\Sample\Sample\node_modules\react-native-bottom-sheet-behavior\android\build\intermediates\res\merged\release\values\values.xml:2972: error: resource android:attr/fontVariationSettings not found.
  C:\Users\Mehrdad\Desktop\Sample\Sample\node_modules\react-native-bottom-sheet-behavior\android\build\intermediates\res\merged\release\values\values.xml:2973: error: resource android:attr/ttcIndex not found.
  error: failed linking references.

What can I do?

Bottom action sheet following material style

Following the material guidelines here - https://material.io/guidelines/components/bottom-sheets.html#bottom-sheets-modal-bottom-sheets

I am trying to create an action sheet like this:

We see it has a overlay in the back that slightly dims as it expands. And hitting that overlay hides it. May you please help me accomplish this, excuse this, I wasn't able to figure it out.

So far I got this code below, the issues:

  • The bottom sheet is pushing things up out of the way. I think I need it position absolute somehow, however when I do this, it makes things real wonky.
  • No background overlay, which dismisses on click
  • It starts out peaking, want it to not peak, and on collapse actually hide/disappear after slide animation
    render() {
             <CoordinatorLayout>
                <View>
                      {/* my stuff here */}
                      <Button onPress={this.showActions} title="Show" />
                 </View>
                <BottomSheetBehavior hideable={false} ref={this.refSheet} elevation={5} style={{ position:'absolute', width:'100%' }}>
                    <View style={{backgroundColor: '#4389f2'}}>
                        <View>
                            <Icon name="invite" />
                            <Text>Invite Members</Text>
                        </View>
                        <View>
                            <Icon name="uninvite" />
                            <Text>Remove Members</Text>
                        </View>
                    </View>
                </BottomSheetBehavior>
            </CoordinatorLayout>
    }

    refSheet = el => this.sheet = el

    showActions = () => {
        this.sheet.setBottomSheetState(BottomSheetBehavior.STATE_EXPANDED);
    }

BottomSheetBehavior together Native-base Tab, no scroll.

I am using the native base tab inside the BottomSheetBehavior, inside the tab there is a list of elements.
I can not scroll the list, I only tried the tab in the render, it works, ie the elements flow, as soon as I put them inside the renderBottomSheetContent () function, the elements remain fixed.
@cesardeazevedo : You could take a look, as soon as you have a moment:

import React, { Component } from 'react'
import {
  View,
  Text,
  Image,
  Keyboard,
  Platform,
  StatusBar,
  StyleSheet,
  Dimensions,
  ToastAndroid,
  TouchableNativeFeedback,
  ListView,
  PixelRatio,
  ScrollView
} from 'react-native'

import Icon from 'react-native-vector-icons/Ionicons'
import IconMDI from 'react-native-vector-icons/MaterialIcons'
import {
  CoordinatorLayout,
  BottomSheetHeader,
  MergedAppBarLayout,
  BackdropBottomSheet,
  BottomSheetBehavior,
  FloatingActionButton,
  ScrollingAppBarLayout,
} from 'react-native-bottom-sheet-behavior'
 import { Container, Tabs, Tab as Tabn } from "native-base";
 var {height, width} = Dimensions.get('window');

 const Actor =
 [{id:90633,name:"Gal Gadot",profile_path:"/yV2nljqQa3MjrrIK4AllDjmJIcs.jpg"},
 {id:62064,name:"Chris Pine",profile_path:"/vSe6sIsdtcoqBhuWRXynahFg8Vf.jpg"},
 {id:32,name:"Robin Wright",profile_path:"/tXfQTgcIEPP7gtVdJ44ZxZPhacn.jpg"},
 {id:6413,name:"Danny Huston",profile_path:"/jc1eGtCShQ2ZkzqWApiWbA1lbTF.jpg"},
 {id:11207,name:"David Thewlis",profile_path:"/lWCGcTKvr4QUi8MvFBleMw8xY8.jpg"},
 {id:935,name:"Connie Nielsen",profile_path:"/lvQypTfeH2Gn2PTbzq6XkT2PLmn.jpg"},
 {id:3623,name:"Elena Anaya",profile_path:"/67brgegoJLcIQKiu4EEGtNymaUj.jpg"},
 {id:1829985,name:"Lilly Aspell",profile_path:"/rZ8BTHLatm8dtZus4HZFv7GsSuA.jpg"},
 {id:1590758,name:"Emily Carey",profile_path:"/esIqsc1XmBRPo07e95C6ebxLD7A.jpg"},
 {id:11111,name:"Lucy Davis",profile_path:"/3Qpcq4Pu8lKXtHxtUEHqyOuibbn.jpg"},
 {id:5419,name:"Saรฏd Taghmaoui",profile_path:"/bOh3ZQ64WiGivN6GJrrO8vrw9wU.jpg"},
 {id:1125,name:"Ewen Bremner",profile_path:"/7CQBnBHSNDcbY2LucqWqEpKWsCH.jpg"},
 {id:1823591,name:"Eugene Brave Rock",profile_path:"/27RL3pfNTBTu2zeNvFQTLFvCrJv.jpg"},
 {id:1310711,name:"Lisa Loven Kongsli",profile_path:"/pwT0UuQ1tsleh3urfabVRj0UE3S.jpg"},
 {id:139900,name:"Florence Kasumba",profile_path:"/oLKR9435H3sjeCWWvD0rLGsL5t9.jpg"},
 {id:1767342,name:"Madeleine Vall",profile_path:"/jACXQG2xHuFeIoxgGGhUbbrZNl1.jpg"},
 {id:1831280,name:"Hayley Warnes",profile_path:"/2dPqpifxaxXc6urLimtC6bdkh5s.jpg"},
 {id:1767343,name:"Ann Wolfe",profile_path:"/5VVXr5NOSqC0uMxXoXFrIA9eKe8.jpg"},
 {id:1009999,name:"Doutzen Kroes",profile_path:"/1aXyxlwPZ6OWaO67gdPBT0K2bAS.jpg"},
 {id:1272968,name:"Samantha Jo",profile_path:"/aHUB2vNo5ZbOVnlmqJ4SkUpDXrk.jpg"},
 {id:1360156,name:"Ann Ogbomo",profile_path:"/5EGoq8xksh6w1MZJBDgEi7LofDC.jpg"},
 {id:62976,name:"Eleanor Matsuura",profile_path:"/6ZbBU8ESZw8wTOdmqF9WJd2I9Gt.jpg"},
 {id:174708,name:"Josette Simon",profile_path:"/rtFA2jn0d69EL5GVGukTHSlE4Kl.jpg"},
 {id:1831281,name:"Brooke Ence",profile_path:"/1FBI6wg4dV2O8Z5NroCFLoVQ6m1.jpg"},
 {id:1831282,name:"Hari James",profile_path:"/q9OXpOaCX2t6cCLr8PO8r53j4YL.jpg"},
 {id:1813935,name:"Jacqui-Lee Pryce",profile_path:"/3lp7b4ncDVQYjAkgRmxI3DmBz9L.jpg"},
 {id:2467,name:"James Cosmo",profile_path:"/523gSqAG9eSSNmKexFFZYh38SxL.jpg"},
 {id:1831379,name:"Martin Bishop",profile_path:"/9a0beQcrkxENGKWJ4z3th25JBjO.jpg"},
 {id:1256710,name:"Flora Nicholson",profile_path:"/DT171ClURqTp1sHvliV5oije1X.jpg"},
 {id:143892,name:"Steffan Rhodri",profile_path:"/4bptQdwRKCMveddkpZdCvDwcsHQ.jpg"},
 {id:1232889,name:"Rachel Pickup",profile_path:"/paSFHcLTDBmR6n04bIpCyJA3rSA.jpg"},
 {id:65054,name:"Rainer Bock",profile_path:"/ebmPZimivfRFKYnKp2ygazkJO9r.jpg"},
 {id:1831283,name:"Eva Dabrowski",profile_path:"/oqZlnfADX2TLptomZmUXKj8xBzp.jpg"},
 {id:1857866,name:"Kattreya Scheurer-Smith",profile_path:"/n1cwG4jJoeN5lxmNSFjC9cKIVWf.jpg"},
 {id:1890510,name:"Betty Adewole",profile_path:"/ncvgnSmpJ0IhtcuaKp2WtkZF9lh.jpg"},
 {id:1431128,name:"Caroline Maria Winberg",profile_path:"/fXeuNhThb61khaAoccPf59ODLgz.jpg"},
 {id:1690518,name:"Rekha Luther",profile_path:"/xadtWM2vvrhDHZ8gcdghPZsglsJ.jpg"},
 {id:1890409,name:"Ooooota Adepo",profile_path:"/nWmpjYNQuSG8Kx0FuL37PVvCYNr.jpg"},
 {id:1813934,name:"Zinnia Kumar",profile_path:"/dHkO6v9Nh6LfsBaZTpK2nNZ7v82.jpg"},
 {id:1830144,name:"Andrea Vasiliou",profile_path:"/r4g0Hw0pzomj8UuLO3D9tNvkO98.jpg"},
 {id:1890511,name:"Freddy Elletson",profile_path:"/8lw4YgcBZeFKZ2SYLJ71TobDuSI.jpg"},
 {id:1890513,name:"Sammy Hayman",profile_path:"/g2y6domOIIdAht8wfmKmNtNE0WE.jpg"},
 {id:1861352,name:"Michael Tantrum",profile_path:"/vfSkp365hUfTTLF5Ye33zGjbNNf.jpg"},
 {id:157826,name:"Philippe Spall",profile_path:"/9dNHdrBLr6hY8Vf0bHS5h8mrQzA.jpg"},
 {id:1824289,name:"Edward Wolstenholme",profile_path:"/9Acyyk5gIN8qGlQ4VuPZ6VCgw3A.jpg"},
 {id:1643761,name:"Jennie Eggleton",profile_path:"/rgLqGrIF6DH4rwKIXMjqT1kVB59.jpg"},
 {id:1824290,name:"Frank Allen Forbes",profile_path:"/eBzMDu8kskfefTfl95NukYEVqMh.jpg"},
 {id:1824295,name:"Jemma Moore",profile_path:"/9p0GWc7hIgnjt0Ua5zvH1n7hLXU.jpg"},
 {id:1890450,name:"Caitlin Burles",profile_path:"/k508jIWbCk6HOliJklZJS3KqPRn.jpg"},
 {id:1562095,name:"Ulli Ackermann",profile_path:"/nH3l4SM06Xel28UtVyiRfFIZYAr.jpg"},
 {id:1820151,name:"Marko Leht",profile_path:"/34Hfcm5xJzFYIM6A5iNuso1aBaZ.jpg"},
 {id:659,name:"Wolf Kahler",profile_path:"/uqHI2PLeGFxdjlw0qIk1D17NjWb.jpg"},
 {id:1040480,name:"Dominic Kinnaird",profile_path:"/kRsj6Wm9BzzjIQqlOhndtuwnPCZ.jpg"},
 {id:1890458,name:"Fred Fergus",profile_path:"/31rOvizxOVC68pYPfXChHiEt7M.jpg"},
 {id:1824301,name:"Freddy Carter",profile_path:"/u4Ibhf8LnRzfuR2IUx6ZQWdWaVv.jpg"},
 {id:75256,name:"Ian Hughes",profile_path:"/jQXF27nYEsCAmdFyqJVOKbHZFxf.jpg"},
 {id:1052209,name:"Andrew Byron",profile_path:"/yOoY7YAfKzLfJIw9dOyvczH2xmi.jpg"},
 {id:1890493,name:"Amber Doyle",profile_path:"/NKO2Q0il3Hj5IFb2jK3LdTAWuU.jpg"},
 {id:1171527,name:"Alexander Mercury",profile_path:"/pz3zmiT79qnvGyPUsR6iZkBVf6W.jpg"},
 {id:1457240,name:"Gana Bayarsaikhan",profile_path:"/rc7jskbwC1Bn1Uy8iIL4dU0NqFH.jpg"},
 {id:1726321,name:"Camilla Roholm",profile_path:"/feaxjgK6F8egTGwlmrZHvN9TftR.jpg"},
 {id:1743363,name:"Sofia Abbasi",profile_path:null},
 {id:1702788,name:"Georgina Armstrong",profile_path:"/kXLYB8o6nfouKmy690MGDcdNtQo.jpg"},
 {id:1743575,name:"Annarie Boor",profile_path:"/mioZHOK2wXGOVc6Ue3pHnahR5Iz.jpg"},
 {id:1824293,name:"Harry Brewis",profile_path:null},
 {id:1502439,name:"Bern Collaco",profile_path:"/ziLGGjo5GWzYDL8H4MUquoFj8r0.jpg"},
 {id:555133,name:"Steve Doyle",profile_path:"/zzAmMr1QsKxbcYgobH05rQGuXnh.jpg"},
 {id:1592480,name:"Dino Fazzani",profile_path:"/fjOF76fBGDAKMGeGkuK4HUkLgrx.jpg"},
 {id:1624443,name:"Flor Ferraco",profile_path:"/gzwL8y0OT6GDkE5rNAlnXxP2u5m.jpg"},
 {id:1527565,name:"Mayling Ng",profile_path:"/jevQBPkbeaCsNs8KPrO9mxok983.jpg"},
 {id:1651414,name:"Sternkiker Franรงois",profile_path:"/8EcUOLAJ7QpVa9LN4vqoCxd0QQf.jpg"},
 {id:1743593,name:"David Georgiou",profile_path:"/eT2ckxteHfwqjCkUNu0FiG643tv.jpg"},
 {id:1651385,name:"Roman Green",profile_path:"/uUd7UsRw94bvbluAkntDDdOJpM0.jpg"},
 {id:1651394,name:"Shane Griffin",profile_path:null},
 {id:1824297,name:"Steve Healey",profile_path:null},
 {id:1824294,name:"Karl Fredrick Hiemeyer",profile_path:null},
 {id:1502441,name:"Kornelia Horvath",profile_path:"/gDimAObmWPSsFRyaSg40QlDMUNI.jpg"},
 {id:1284323,name:"Kevin Hudson",profile_path:"/1OrwAIDUYbwZXOWbF5FZtgGMsCI.jpg"},
 {id:1820018,name:"Tim Ingall",profile_path:"/8TBgeYKRItgEkioHaXtSZerFjKM.jpg"},
 {id:1824291,name:"Ben Kelleher",profile_path:"/hCxzMivfpFlua0m2b25yQBKjKkr.jpg"},
 {id:1813664,name:"John Kinory",profile_path:null},
 {id:1824300,name:"Dario A. Lee",profile_path:null},
 {id:1809569,name:"Christopher Marsh",profile_path:null},
 {id:1699114,name:"Lora Moss",profile_path:"/5j9isIvOyO3EuhBhNxNQToGL4ip.jpg"},
 {id:1809570,name:"James M.L. Muller",profile_path:"/b7nuAf9fhZyp6oF09NrGA87vkg4.jpg"},
 {id:1735654,name:"Ekran Mustafa",profile_path:null},
 {id:1702759,name:"Shaun Newnham",profile_path:null},
 {id:1809572,name:"Yves O'Hara",profile_path:null},
 {id:1461309,name:"Rajeev Pahuja",profile_path:"/oHXsxs3quaESZXjrFRk0FGHuAO0.jpg"},
 {id:1785923,name:"Jag Patel",profile_path:"/uChgXgHBAFBsy3a9NrCiL0klPMS.jpg"},
 {id:1635870,name:"Richard Price",profile_path:"/iiITgdpWPmybUfhWd1ktjxDFW1c.jpg"},
 {id:1451618,name:"Anthony J. Sacco",profile_path:"/nRUNvLCfe43Rs1OEd4GoztuxxED.jpg"},
 {id:1824303,name:"Adam Sef",profile_path:null},
 {id:147641,name:"Mick Slaney",profile_path:null},
 {id:15217,name:"Zack Snyder",profile_path:"/vdr0DlKJH4Ub7nWZtkanBH65bGH.jpg"},
 {id:1824299,name:"Fran Targ",profile_path:"/83eaNik8vdvHCyeUmEo5GfBiVOR.jpg"},
 {id:29333,name:"Roy Taylor",profile_path:"/eac87ztd0AcxBLvJPsCoNsvOzVc.jpg"},
 {id:1824296,name:"Roy Martin Thorn",profile_path:null},
 {id:1824302,name:"Phil Tillott",profile_path:null},
 {id:1635843,name:"Matt Townsend",profile_path:"/oAwLdyE519RGtg2bwvoKEZomMOM.jpg"},
 {id:1756412,name:"Ray Whelan",profile_path:"/isPM6LslVwFVnDvE8esxAqNJWJR.jpg"},
 {id:1743005,name:"Tom Whelehan",profile_path:null},
 {id:1824304,name:"Zac Whitehead",profile_path:null},
 {id:1651386,name:"Miroslav Zaruba",profile_path:"/kZyZlbiFGoatmZSpeiYjm4hLhlu.jpg"},
 {id:590410,name:"Lee Neville",profile_path:"/2CR8faSmvsACfaQg05HWDZo4uEc.jpg"}];

const anchorPoint = 235
const RippleColor = (...args) => (
  Platform.Version >= 21
    ? TouchableNativeFeedback.Ripple(...args)
    : null
)

const WHITE = '#FFFFFF'
const PRIMARY_COLOR = '#4589f2'
const STATUS_BAR_COLOR = '#205cb2'
const STAR_COLOR = '#FF5722'

const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
const { STATE_ANCHOR_POINT, STATE_COLLAPSED } = BottomSheetBehavior

class ProvaTab2 extends Component {
  static contextTypes = {
    openDrawer: PropTypes.func,
  };

  constructor() {
    super();
    this.state = {
      n: null,
      dataSource: ds.cloneWithRows(Actor),
    };
  }

componentDidMount () {
}

  handleFabPress = () => {
    ToastAndroid.show('Pressed', ToastAndroid.SHORT)
  }

  handleState = (state) => {
    this.bottomSheet.setBottomSheetState(state)
  }

  handleHeaderPress = () => {
    this.handleState(STATE_ANCHOR_POINT)
  }

  renderDetailItem(icon, text,i) {
    return (
      <TouchableNativeFeedback key={i} delayPressIn={0} delayPressOut={0} background={RippleColor('#d1d1d1')}>
        <View>
          <View pointerEvents="none" style={styles.detailItem}>
            <Icon name={icon} size={22} color={PRIMARY_COLOR} />
            <Text pointerEvents="none" style={styles.detailText}>{text}</Text>
          </View>
        </View>
      </TouchableNativeFeedback>
    )
  }

  renderRow(r){
    return (
      <TouchableNativeFeedback delayPressIn={0} delayPressOut={0} useForeground={true} background={RippleColor('#ffc400')}>
        <View style={{ width: Math.round(width * PixelRatio.get())/15, elevation: 2, borderRadius: 4, overflow: 'hidden', backgroundColor: "#fff", marginTop: 5, marginLeft: 8 }}>
          <Image style={{ borderTopLeftRadius: 4, borderTopRightRadius: 4, height: (Math.round(width * PixelRatio.get())/8), width: Math.round(width * PixelRatio.get())/15}}  source={{uri: (r.profile_path == null) ? 'https://techreport.com/forums/styles/canvas/theme/images/no_avatar.jpg' : 'https://image.tmdb.org/t/p/w185/'+r.profile_path}} />
          <View style={{ flexDirection: 'column', paddingTop: 4, paddingHorizontal: 8 }}>
          <Text style={{ textAlign: 'center', fontSize: 10 }}>{r.name}</Text>
          </View>
        </View>
      </TouchableNativeFeedback>
    );
  }

  renderBottomSheetContent() {
    return (
      <Container>
      <Tabs initialPage={0}>
      <Tabn heading={"Actor("+this.state.dataSource._dataBlob.s1.length+")"} tabStyle={{ backgroundColor: "#4589f2" }} activeTabStyle={{ backgroundColor: "#205cb2" }}>
        <ListView horizontal={false} initialListSize={this.state.dataSource._dataBlob.s1.length} contentContainerStyle={styles.list} dataSource={this.state.dataSource} renderRow={this.renderRow.bind(this)} enableEmptySections={true}  />
      </Tabn>
      <Tabn heading={"Actor2"} tabStyle={{ backgroundColor: "#4589f2" }} activeTabStyle={{ backgroundColor: "#205cb2" }}>
        <ListView horizontal={false} initialListSize={this.state.dataSource._dataBlob.s1.length} contentContainerStyle={styles.list} dataSource={this.state.dataSource} renderRow={this.renderRow.bind(this)} enableEmptySections={true}  />
      </Tabn>
      </Tabs>
      </Container>
    )
  }

  renderFloatingActionButton() {
    return (
      <FloatingActionButton
        autoAnchor
        elevation={18}
        rippleEffect={true}
        rippleColor="#55ffffff"
        icon="star"
        iconProvider={IconMDI}
        iconColor={WHITE}
        iconColorExpanded={PRIMARY_COLOR}
        onPress={this.handleFabPress}
        backgroundColor={PRIMARY_COLOR}
        backgroundColorExpanded={WHITE}
      />
    )
  }

  renderBackdrop() {
    return (
      <BackdropBottomSheet height={anchorPoint}>
        <View style={{flex: 1, backgroundColor: 'white'}}>
            <Image style={{width, height: 320}} source={{uri:"https://image.tmdb.org/t/p/w640/6iUNJZymJBMXXriQyFZfLAKnjO6.jpg"}} />
        </View>
      </BackdropBottomSheet>
    )
  }

  renderMergedAppBarLayout() {
    return (
      <MergedAppBarLayout
        translucent
        mergedColor={PRIMARY_COLOR}
        toolbarColor={PRIMARY_COLOR}
        statusBarColor={STATUS_BAR_COLOR}
        style={styles.appBarMerged}>
        <Icon.ToolbarAndroid
          title='Jon Snow'
          titleColor={WHITE}
          style={{elevation: 6}}
          onIconClicked={() => this.handleState(STATE_COLLAPSED)}
        />
      </MergedAppBarLayout>
    )
  }

  renderBottomSheet() {
    return (
      <BottomSheetBehavior
        anchorEnabled
        anchorPoint={anchorPoint}
        peekHeight={80}
        elevation={8}
        ref={(bottomSheet) => { this.bottomSheet = bottomSheet }}
        onSlide={this.handleSlide}
        onStateChange={this.handleBottomSheetChange}
        state={STATE_ANCHOR_POINT}>
        <View style={styles.bottomSheet}>
          <BottomSheetHeader
            onPress={this.handleHeaderPress}
            textColorExpanded={WHITE}
            backgroundColor={WHITE}
            backgroundColorExpanded={PRIMARY_COLOR}>
            <View pointerEvents='none' style={styles.bottomSheetHeader}>
              <View style={styles.bottomSheetLeft}>
                <Text selectionColor={'#000'} style={styles.bottomSheetTitle}>
                  Wonder Woman
                </Text>
                <View style={styles.starsContainer}>
                  <Text style={{marginRight: 8}} selectionColor={STAR_COLOR}>Power. Grace. Wisdom. Wonder.</Text>
                </View>
              </View>
              <View style={styles.bottomSheetRight}>
                <Text style={styles.routeLabel} selectionColor={PRIMARY_COLOR}>2017-05-30</Text>
              </View>
            </View>
          </BottomSheetHeader>
          {this.renderBottomSheetContent()}
        </View>
      </BottomSheetBehavior>
    )
  }

  renderSlider() {
    return (
      <View style={styles.containerMap}>
        <Image style={{height: "100%"}} source={{uri: "https://image.tmdb.org/t/p/original/paKWqpEGiHilKfpFKuHXXkFpYNn.jpg"}} />
      </View>
    )
  }

  renderToolbar() {
    return (
      <ScrollingAppBarLayout
        translucent
        barStyleTransparent={'light-content'}
        style={styles.scrollAppBar}
        statusBarColor={STATUS_BAR_COLOR}>
      </ScrollingAppBarLayout>
    )
  }

  render() {
    return (
      <CoordinatorLayout style={styles.container}>
        <StatusBar translucent barStyle='dark-content' backgroundColor={STATUS_BAR_COLOR} />
        {this.renderToolbar()}
        <View style={styles.content}>
          {this.renderSlider()}
        </View>
        {this.renderBackdrop()}
        {this.renderBottomSheet()}
        {this.renderMergedAppBarLayout()}
        {this.renderFloatingActionButton()}
      </CoordinatorLayout>
    )
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: "#000",
  },
  content: {
    backgroundColor: 'transparent',
  },
  scrollAppBar: {
    zIndex: 1,
  },
  appBarMerged: {
    backgroundColor: 'transparent',
  },
  containerMap: {
    //position: 'absolute',
    //top: 0,
    //left: 0,
    //right: 0,
    //bottom: 0,
    height,
    width,
    //justifyContent: 'flex-end',
    //alignItems: 'center',
    //backgroundColor: "#000"
  },
  bottomSheet: {
    height,
    zIndex: 5,
    backgroundColor: 'white'
  },
  bottomSheetHeader: {
    padding: 16,
    paddingLeft: 28,
    flexDirection: 'row',
    alignItems: 'center',
    justifyContent: 'space-between',
    // Don't forget this if you are using BottomSheetHeader
    backgroundColor: 'transparent'
  },
  bottomSheetLeft: {
    flexDirection: 'column'
  },
  bottomSheetRight: {
    flexDirection: 'column'
  },
  bottomSheetTitle: {
    fontFamily: 'sans-serif-medium',
    fontSize: 18,
  },
  bottomSheetContent: {
    //flex: 1,
    backgroundColor: WHITE,
  },
  starsContainer: {
    flexDirection: 'row',
    alignItems: 'center',
  },
  routeLabel: {
    marginTop: 32,
    marginRight: 12,
    fontSize: 12,
    fontFamily: 'sans-serif-medium',
  },
  detailListSection: {
    paddingVertical: 8,
  },
  detailItem: {
    height: 42,
    alignItems: 'center',
    flexDirection: 'row',
    paddingHorizontal: 26,
  },
  detailText: {
    color: '#333',
    fontSize: 14,
    marginLeft: 24,
    lineHeight: 22,
  },
  list:{
  flexDirection: 'row',
  flexWrap: 'wrap',
  justifyContent: 'space-between',
  marginRight: 8,
  paddingBottom:65,
},
})

export default ProvaTab2

Fixed at the bottom of the View

Hello again,
I'm having all the trouble in the world trying to fix this element to the bottom of my view. What I aim to do is something like this:

rsz_screenshot_from_2017-02-05_16-04-24

with the markup something along the lines of:

<View>
  <ScrollView>
  // My list
  </ScrollView>
  <BottomSheet>
</View>

With the BottomSheet element always at the bottom of the screen and toggling it brings it in front of my scrollView, however I scroll the scrollView.

However I try to it though, either my BottomSheet element is at the bottom of the scrollView, not of the screen, or it is indeed at the bottom of the screen, but then the CoordinatorLayout takes most of the space in the scrollView, pushing everything on top of it, or finally, the BottomSheet element appears correctly, but when toggled it goes up just a few pixels up, not showing what it has inside.

I'm practically at my wit's end, I have no trouble with positioning in pure CSS, or Flex for that matter, but RN is testing my patience.

I hope you'll excuse this not-quite-an-issue, for I feel that the issue may stem from the CoordinatorLayout component.

Thank you.

BottomSheetBehavior ref is null

<BottomSheetBehavior
peekHeight={Dimensions.get('window').height * 0.2}
hideable={false}
state={BottomSheetBehavior.STATE_COLLAPSED}
ref={ref => console.log(ref)} // null
/>

React-Native 0.59.10

What im doing wrong?

Support for AnchorSheetBehavior

I am planning to integrate a custom bottom sheet that supports an anchor point, after playing with the default BottomSheetBehavior, i realized that is quite limited, and doesn't support an anchor point, this is a crucial feature since i was design this library, i still didn't achieve a full google maps experience, an anchor point would allow us to expand full screen and a middle anchor.

So, here is some thoughts about it, if there's anyone interested in discuss it.

  • Uses the custom implementation from miguelhincapie/CustomBottomSheetBehavior
  • No breaking changes on the existing BottomSheetBehavior.
  • Adds AnchorSheetBehavior, BackdropBottomSheet and AppbarLayout components.
  • AnchorSheetBehavior has STATE_ANCHOR_POINT state and a anchorPoint prop to define a fixed anchor position.
  • AppBarLayout component that handles a scroll behavior, and allow us to connect a ToolbarAndroid from react-native to sets the title when the anchor sheet is expanded.
  • BackdropBottomSheet renders a parallax View behind the anchor sheet.
  • FloatingActionButton supports a custom behavior that hides when its near to the toolbar.

I have been working on a concept on anchorSheet branch, and i am very excited with it, there's still some stuff to be done, i'm planning to release it soon, also looking for feedback from anyone who are interested.

Replacing FloatingActionButton with Action Button

Hello again,
I would like to replace the FloatingActionButton in your example by this component

So in your example's code, in the GoogleMapsView.js file, basically this:

  renderFloatingActionButton = () => {
    const { bottomSheetColor } = this.state
    const isExpanded = bottomSheetColor === 1
    return (
      <FloatingActionButton
        ref={(floating) => { this.floating = floating }}
        elevation={18}
        rippleEffect={true}
        icon={'directions'}
        iconProvider={IconMDI}
        iconColor={!isExpanded ? WHITE : PRIMARY_COLOR}
        onPress={this.handleFabPress}
        backgroundColor={isExpanded ? WHITE : PRIMARY_COLOR}
      />
    )
  }

turned into this:

  renderFloatingActionButton = () => {
    return (
      <ActionButton ref={(floating) => { this.floating = floating }} buttonColor="rgba(231,76,60,1)">
        <ActionButton.Item buttonColor='#9b59b6' title="New Task" onPress={() => console.log("notes tapped!")}>
          <Icon name="md-create" style={styles.actionButtonIcon} />
        </ActionButton.Item>
        <ActionButton.Item buttonColor='#3498db' title="Notifications" onPress={() => {}}>
          <Icon name="md-notifications-off" style={styles.actionButtonIcon} />
        </ActionButton.Item>
        <ActionButton.Item buttonColor='#1abc9c' title="All Tasks" onPress={() => {}}>
          <Icon name="md-done-all" style={styles.actionButtonIcon} />
        </ActionButton.Item>
      </ActionButton>
    )
  }

However, I get the following error:
undefined is not a function (evaluating this.floating.setAnchorId(this.bottomSheet))

Is it at all possible to use this component as I intend, or is it meant only to be used with the FloatingActionButton component?

Thank you.

Task :react-native-bottom-sheet-behavior:compileDebugJavaWithJavac FAILED

AndroidX seems not supported

Task :react-native-bottom-sheet-behavior:compileDebugJavaWithJavac FAILED
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/
main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:10: error: package android.support.annotation d
oes not exist
import android.support.annotation.NonNull;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:11: error: package android.support.design.widget does not exist
import android.support.design.widget.AppBarLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:12: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:13: error: package android.support.v4.content does not exist
import android.support.v4.content.ContextCompat;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:14: error: package android.support.v4.widget does not exist
import android.support.v4.widget.NestedScrollView;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:44: error: package AppBarLayout does not exist
public class ScrollingAppBarLayoutBehavior extends AppBarLayout.ScrollingViewBehavior {
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:6: error: package android.support.annotation does not exist
import android.support.annotation.IntDef;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:7: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:8: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:9: error: package android.support.v4.view does not exist
import android.support.v4.view.MotionEventCompat;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:10: error: package android.support.v4.view does not exist
import android.support.v4.view.NestedScrollingChild;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:11: error: package android.support.v4.view does not exist
import android.support.v4.view.ViewCompat;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:12: error: package android.support.v4.widget does not exist
import android.support.v4.widget.ViewDragHelper;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:28: error: package CoordinatorLayout does not exist
public class RNBottomSheetBehavior extends CoordinatorLayout.Behavior {
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:69: error: cannot find symbol
public boolean layoutDependsOn(CoordinatorLayout parent, View child, View dependency) {
^
symbol: class CoordinatorLayout
location: class ScrollingAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:81: error: cannot find symbol
public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) {
^
symbol: class CoordinatorLayout
location: class ScrollingAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:92: error: cannot find symbol
public Parcelable onSaveInstanceState(CoordinatorLayout parent, View child) {
^
symbol: class CoordinatorLayout
location: class ScrollingAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:97: error: cannot find symbol
public void onRestoreInstanceState(CoordinatorLayout parent, View child, Parcelable state) {
^
symbol: class CoordinatorLayout
location: class ScrollingAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:103: error: cannot find symbol
private boolean init(CoordinatorLayout parent, View child, View dependency) {
^
symbol: class CoordinatorLayout
location: class ScrollingAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:125: error: cannot find symbol
public void setAppBarVisible(final AppBarLayout appBarLayout, final boolean visible){
^
symbol: class AppBarLayout
location: class ScrollingAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutBehavior.java:204: error: cannot find symbol
private void getBottomSheetBehavior(@nonnull CoordinatorLayout coordinatorLayout) {
^
symbol: class CoordinatorLayout
location: class ScrollingAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:113: error: cannot find symbol
private ViewDragHelper mViewDragHelper;
^
symbol: class ViewDragHelper
location: class RNBottomSheetBehavior
where V is a type-variable:
V extends View declared in class RNBottomSheetBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:144: error: cannot find symbol
public Parcelable onSaveInstanceState( CoordinatorLayout parent, V child ) {
^
symbol: class CoordinatorLayout
location: class RNBottomSheetBehavior
where V is a type-variable:
V extends View declared in class RNBottomSheetBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:149: error: cannot find symbol
public void onRestoreInstanceState( CoordinatorLayout parent, V child, Parcelable state ) {
^
symbol: class CoordinatorLayout
location: class RNBottomSheetBehavior
where V is a type-variable:
V extends View declared in class RNBottomSheetBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:163: error: cannot find symbol
public boolean onLayoutChild( CoordinatorLayout parent, V child, int layoutDirection ) {
^
symbol: class CoordinatorLayout
location: class RNBottomSheetBehavior
where V is a type-variable:
V extends View declared in class RNBottomSheetBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:201: error: cannot find symbol
public boolean onInterceptTouchEvent( CoordinatorLayout parent, V child, MotionEvent event ) {
^
symbol: class CoordinatorLayout
location: class RNBottomSheetBehavior
where V is a type-variable:
V extends View declared in class RNBottomSheetBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:262: error: cannot find symbol
public boolean onTouchEvent( CoordinatorLayout parent, V child, MotionEvent event ) {
^
symbol: class CoordinatorLayout
location: class RNBottomSheetBehavior
where V is a type-variable:
V extends View declared in class RNBottomSheetBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:294: error: cannot find symbol
public boolean onStartNestedScroll( CoordinatorLayout coordinatorLayout, V child, View directTargetChild, View target, int nestedScrollAxes ) {
^
symbol: class CoordinatorLayout
location: class RNBottomSheetBehavior
where V is a type-variable:
V extends View declared in class RNBottomSheetBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:326: error: cannot find symbol
public void onNestedPreScroll( CoordinatorLayout coordinatorLayout, V child, View target, int dx, int dy, int[] consumed ) {
^
symbol: class CoordinatorLayout
location: class RNBottomSheetBehavior
where V is a type-variable:
V extends View declared in class RNBottomSheetBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:381: error: cannot find symbol
public void onStopNestedScroll( CoordinatorLayout coordinatorLayout, V child, View target ) {
^
symbol: class CoordinatorLayout
location: class RNBottomSheetBehavior
where V is a type-variable:
V extends View declared in class RNBottomSheetBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:471: error: cannot find symbol
public boolean onNestedPreFling(CoordinatorLayout coordinatorLayout, V child, View target,
^
symbol: class CoordinatorLayout
location: class RNBottomSheetBehavior
where V is a type-variable:
V extends View declared in class RNBottomSheetBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:682: error: package ViewDragHelper does not exist
private final ViewDragHelper.Callback mDragCallback = new ViewDragHelper.Callback() {
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonView.java:10: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonView.java:11: error: package android.support.design.widget does not exist
import android.support.design.widget.FloatingActionButton;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/FloatingActionButtonView.java:19: error: cannot find symbol
public class FloatingActionButtonView extends FloatingActionButton {
^
symbol: class FloatingActionButton
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:4: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:5: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:6: error: package android.support.v4.widget doesnot exist
import android.support.v4.widget.NestedScrollView;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:39: error: package CoordinatorLayout does not exist
public class BackdropBottomSheetBehavior extends CoordinatorLayout.Behavior {
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:57: error: cannot find symbol
public boolean layoutDependsOn(CoordinatorLayout parent, View child, View dependency) {
^
symbol: class CoordinatorLayout
location: class BackdropBottomSheetBehavior
where V is a type-variable:
V extends View declared in class BackdropBottomSheetBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:70: error: cannot find symbol
public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) {
^
symbol: class CoordinatorLayout
location: class BackdropBottomSheetBehavior
where V is a type-variable:
V extends View declared in class BackdropBottomSheetBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetBehavior.java:109: error: cannot find symbol
private void getBottomSheetBehavior(@nonnull CoordinatorLayout coordinatorLayout) {
^
symbol: class CoordinatorLayout
location: class BackdropBottomSheetBehavior
where V is a type-variable:
V extends View declared in class BackdropBottomSheetBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorView.java:4: error: package android.support.design.widget doesnot exist
import android.support.design.widget.CoordinatorLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorView.java:5: error: package android.support.v4.widget does notexist
import android.support.v4.widget.NestedScrollView;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorView.java:12: error: cannot find symbol
public class BottomSheetBehaviorView extends NestedScrollView {
^
symbol: class NestedScrollView
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BackdropBottomSheetManager.java:3: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/CoordinatorLayoutView.java:4: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/CoordinatorLayoutView.java:7: error: cannot find symbol
public class CoordinatorLayoutView extends CoordinatorLayout {
^
symbol: class CoordinatorLayout
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorManager.java:3: error: package android.support.annotation doesnot exist
import android.support.annotation.NonNull;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorManager.java:4: error: package android.support.v4.view does not exist
import android.support.v4.view.ViewCompat;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorManager.java:5: error: package android.support.v4.widget does not exist
import android.support.v4.widget.NestedScrollView;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/BottomSheetBehaviorManager.java:144: error: cannot find symbol
private void attachNestedScrollChild(final BottomSheetBehaviorView parent, final NestedScrollView nestedScroll){
^
symbol: class NestedScrollView
location: class BottomSheetBehaviorManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/RNBottomSheetBehavior.java:87: error: cannot find symbol
@IntDef({STATE_EXPANDED, STATE_COLLAPSED, STATE_DRAGGING, STATE_ANCHOR_POINT, STATE_SETTLING, STATE_HIDDEN})
^
symbol: class IntDef
location: class RNBottomSheetBehavior
where V is a type-variable:
V extends View declared in class RNBottomSheetBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:6: error: package android.support.design.widget does not exist
import android.support.design.widget.AppBarLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:7: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:8: error: package android.support.v7.widget does not exist
import android.support.v7.widget.Toolbar;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:18: error: cannot find symbol
public class MergedAppBarLayoutManager extends ViewGroupManager {
^
symbol: class AppBarLayout
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:11: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:12: error: package android.support.design.widget does not exist
import android.support.design.widget.AppBarLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:13: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:14: error: package android.support.v4.content does not exist
import android.support.v4.content.ContextCompat;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:15: error: package android.support.v4.widget doesnot exist
import android.support.v4.widget.NestedScrollView;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:16: error: package android.support.v7.widget doesnot exist
import android.support.v7.widget.Toolbar;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:52: error: package AppBarLayout does not exist
public class MergedAppBarLayoutBehavior extends AppBarLayout.ScrollingViewBehavior {
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:36: error: cannot find symbol
public AppBarLayout createViewInstance(ThemedReactContext context) {
^
symbol: class AppBarLayout
location: class MergedAppBarLayoutManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:51: error: cannot find symbol
public void setTranslucent(AppBarLayout view, boolean translucent) {
^
symbol: class AppBarLayout
location: class MergedAppBarLayoutManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:60: error: cannot find symbol
public void setBarStyle(AppBarLayout view, String barStyle) {
^
symbol: class AppBarLayout
location: class MergedAppBarLayoutManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:65: error: cannot find symbol
public void setBarStyleTransparent(AppBarLayout view, String barStyle) {
^
symbol: class AppBarLayout
location: class MergedAppBarLayoutManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:70: error: cannot find symbol
public void setMergedColor(AppBarLayout view, String mergedColor) {
^
symbol: class AppBarLayout
location: class MergedAppBarLayoutManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:78: error: cannot find symbol
public void setToolbarColor(AppBarLayout view, String toolbarColor) {
^
symbol: class AppBarLayout
location: class MergedAppBarLayoutManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:88: error: cannot find symbol
public void setStatusBarColor(AppBarLayout view, String statusBarColor) {
^
symbol: class AppBarLayout
location: class MergedAppBarLayoutManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:97: error: cannot find symbol
public void setHeight(AppBarLayout view, int height) {
^
symbol: class AppBarLayout
location: class MergedAppBarLayoutManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutManager.java:104: error: cannot find symbol
public void addView(AppBarLayout parent, View child, int index) {
^
symbol: class AppBarLayout
location: class MergedAppBarLayoutManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:70: error: cannot find symbol
private Toolbar mToolbar;
^
symbol: class Toolbar
location: class MergedAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:87: error: cannot find symbol
public boolean layoutDependsOn(CoordinatorLayout parent, View child, View dependency) {
^
symbol: class CoordinatorLayout
location: class MergedAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:99: error: cannot find symbol
public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) {
^
symbol: class CoordinatorLayout
location: class MergedAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:143: error: cannot find symbol
private void init(@nonnull CoordinatorLayout parent, @nonnull View child){
^
symbol: class CoordinatorLayout
location: class MergedAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:176: error: cannot find symbol
private void getBottomSheetBehavior(@nonnull CoordinatorLayout coordinatorLayout) {
^
symbol: class CoordinatorLayout
location: class MergedAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:193: error: cannot find symbol
private boolean isDependencyYBelowAnchorPoint(@nonnull CoordinatorLayout parent, @nonnull View dependency){
^
symbol: class CoordinatorLayout
location: class MergedAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:199: error: cannot find symbol
private boolean isDependencyYBetweenAnchorPointAndToolbar(@nonnull CoordinatorLayout parent, @nonnull View child, @nonnull View dependency){
^
symbol: class CoordinatorLayout
location: class MergedAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:240: error: cannot find symbol
private View findTitleTextView(Toolbar toolbar){
^
symbol: class Toolbar
location: class MergedAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:346: error: cannot find symbol
public void setToolbar(Toolbar toolbar) {
^
symbol: class Toolbar
location: class MergedAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:371: error: cannot find symbol
public Parcelable onSaveInstanceState(CoordinatorLayout parent, View child) {
^
symbol: class CoordinatorLayout
location: class MergedAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/MergedAppBarLayoutBehavior.java:376: error: cannot find symbol
public void onRestoreInstanceState(CoordinatorLayout parent, View child, Parcelable state) {
^
symbol: class CoordinatorLayout
location: class MergedAppBarLayoutBehavior
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutManager.java:6: error: package android.support.design.widgetdoes not exist
import android.support.design.widget.AppBarLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutManager.java:7: error: package android.support.design.widgetdoes not exist
import android.support.design.widget.CoordinatorLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutManager.java:15: error: cannot find symbol
public class ScrollingAppBarLayoutManager extends ViewGroupManager {
^
symbol: class AppBarLayout
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutManager.java:27: error: cannot find symbol
public AppBarLayout createViewInstance(ThemedReactContext context) {
^
symbol: class AppBarLayout
location: class ScrollingAppBarLayoutManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutManager.java:40: error: cannot find symbol
public void setTranslucent(AppBarLayout view, boolean translucent) {
^
symbol: class AppBarLayout
location: class ScrollingAppBarLayoutManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutManager.java:49: error: cannot find symbol
public void setBarStyle(AppBarLayout view, String barStyle) {
^
symbol: class AppBarLayout
location: class ScrollingAppBarLayoutManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutManager.java:54: error: cannot find symbol
public void setBarStyleTransparent(AppBarLayout view, String barStyle) {
^
symbol: class AppBarLayout
location: class ScrollingAppBarLayoutManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutManager.java:59: error: cannot find symbol
public void setStatusBarColor(AppBarLayout view, String color) {
^
symbol: class AppBarLayout
location: class ScrollingAppBarLayoutManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollingAppBarLayoutManager.java:64: error: cannot find symbol
public void setHeight(AppBarLayout view, int height) {
^
symbol: class AppBarLayout
location: class ScrollingAppBarLayoutManager
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:4: error: package android.support.annotation does notexist
import android.support.annotation.NonNull;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:5: error: package android.support.design.widget does not exist
import android.support.design.widget.AppBarLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:6: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:7: error: package android.support.design.widget does not exist
import android.support.design.widget.FloatingActionButton;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:8: error: package android.support.v4.view does not exist
import android.support.v4.view.ViewCompat;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ScrollAwareFABBehavior.java:9: error: package android.support.v4.widget does not exist
import android.support.v4.widget.NestedScrollView;
^
/home/ubuntu/MyApp/node_modules/react-native-bottom-sheet-behavior/android/src/

Minimum Android Version?

Hi there,

I was wondering with the minimum Android version supported is? Especially for BottomSheetBehavior, because it is custom implementation, is it 4.1+ safe? I am trying to support minimum version RN supports which is 4.1.

Thanks for an awesome module and providing support to the many people posting in your issues forum.

Update to latest library support to latest and change compile to implementation

Old dependency is having conflicts with multidex. So please update the dependency to latest support.

com.android.build.api.transform.TransformException: Error while generating the main dex list.
> Error while generating the main dex list.
  > com.android.tools.r8.errors.CompilationError: Program type already present: android.support.design.widget.CoordinatorLayout$DefaultBehavior
    > Program type already present: android.support.design.widget.CoordinatorLayout$DefaultBehavior

Originally posted by @ntgussoni in #45 (comment)

Cannot find symbol parseOverScrollMode

/Users/doko/Documents/ReactNative/Zoti/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ReactNestedScrollViewManager.java:118: error: cannot find symbol view.setOverScrollMode(ReactScrollViewHelper.parseOverScrollMode(value)); ^ symbol: method parseOverScrollMode(String) location: class ReactScrollViewHelper Note: /Users/doko/Documents/ReactNative/Zoti/node_modules/react-native-bottom-sheet-behavior/android/src/main/java/com/bottomsheetbehavior/ResourceDrawableIdHelper.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations.

Didn't have same issues with another libraries. I think the problem lies within Support Library v24 but I cannot downgrade it (to v23, same as currently shipped with React Native Android) because BottomSheet is only available on v24 and up.

Any workarounds?

How would you implement an overlay to the content below the BottomSheet?

Just like explained here https://material.io/guidelines/components/bottom-sheets.html#bottom-sheets-usage. Is there an easy way?

I think about having an overlay view that use some animation opacity based on the current position of the BottomSheet (full color when is expanded and starting fading color when collapsing). The overlay should also be clickable to close the bottom sheet. Maybe you have an example of it? Thanks :)

Q: Additional FloatingActionButton, anchored, above BottomSheet

I am trying to add an additional FAB, also anchored to the BottomSheet. When adding an additional one as sibling to my first FAB, it (naturally) is rendered above the first one. I however fail to position this 2nd one anywhere else within the . Can someone give me a hint of how to achieve this?

Thanks!

[Question] Header with zero height

Is it possible to have Bottom Sheet with zero height (so that it does not occupy any space when "hidden") and control sheet completely remotely?

Dummy question, but sorry, I am from iOS world.

TY

conditionally rendering BottomSheetBehavior doesn't show up and tapping causes crash

RN version: 0.43.2
Library version: Latest (0.4.0)

The issue is that BottomSheetBehavior#onLayoutChild is never called, therefore mNestedScrollingChildRef in android.support.design.widget.BottomSheetBehavior is never set

Example code:


import { CoordinatorLayout, BottomSheetBehavior } from 'react-native-bottom-sheet-behavior'

class TestCase extends React.PureComponent {

  componentDidMount() {
    setTimeout(() => this.setState({ ok: true }), 5000)
  }
  
  render() {
    return (
      <CoordinatorLayout style={{flex:1}}>
        {this.state.ok && <BottomSheetBehavior
          peekHeight={70}
          hideable={false}
          state={BottomSheetBehavior.STATE_COLLAPSED}>
          <View style={{backgroundColor: '#4389f2'}}>
            <View style={{padding: 26}}>
              <Text>BottomSheetBehavior!</Text>
            </View>
            <View style={{height: 200, backgroundColor: '#fff'}} />
          </View>
        </BottomSheetBehavior> }
      </CoordinatorLayout>
    )
  }
    
}

Crashes with the following exception when you try to tap where the bottom sheet should be:

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.lang.ref.WeakReference.get()' on a null object reference
at android.support.design.widget.BottomSheetBehavior.onInterceptTouchEvent(BottomSheetBehavior.java:282)
at android.support.design.widget.CoordinatorLayout.performIntercept(CoordinatorLayout.java:446)
at android.support.design.widget.CoordinatorLayout.onInterceptTouchEvent(CoordinatorLayout.java:485)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2366)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2456)
at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2831)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1863)
at android.app.Activity.dispatchTouchEvent(Activity.java:3046)
at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2792)
at android.view.View.dispatchPointerEvent(View.java:10233)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5397)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5233)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4673)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4726)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4692)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4834)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4700)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4891)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4673)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4726)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4692)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4700)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4673)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7359)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7237)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7198)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7469)
at android.view.In

Action button placement on Platform['Version'] <= 21

Hello again,
I've noticed an issue with the action button on Android 4.4 in my case: The action button is placed a little bit to the left and when activated, you can notice a jittering in the animation when it goes up.

A screenshot:
imageedit_2_5304237738

Just wanted to let you know.
Thank you.

Any Plans to Support iOS?

The Google Maps iOS app, and many other material design apps, use this same bottom sheet behavior on both iOS and Android. Are there any plans to make this library cross-compatible with iOS as well?

Execution failed for task `:app:transformClassesWithMultidexlistForDebug`

I am getting error after adding this package.
`FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:transformClassesWithMultidexlistForDebug'.

com.android.build.api.transform.TransformException: Error while generating the main dex list.`

My android.defaultConfig has multiDexEnabled true.
And dependencies { classpath 'com.android.tools.build:gradle:3.1.4' classpath 'com.google.gms:google-services:4.0.1'

BottomSheetHeader defaultTextColor

In JS code you has property textColor, but in Java code you use highlightColor in BottomSheetHeader component. There is no default text color setter in your component.

Crash: null object reference on init

Hey,

We're seeing the crashes using latest beta (with RN 0.51.1). Seems to be a race condition on init, let me know if you need more info. Using .beta8.

This code crashes:

class App extends React.Component<{}> {
  render() {
    return (
      <CoordinatorLayout style={{flex: 1}}>
        <BottomSheetBehavior
          peekHeight={70}
          hideable={false}
          state={BottomSheetBehavior.STATE_COLLAPSED}
        >
          <View style={{backgroundColor: '#4389f2'}}>
            <View style={{padding: 26}}>
              <Text>BottomSheetBehavior!</Text>
            </View>
            <View style={{height: 200, backgroundColor: '#fff'}} />
          </View>
        </BottomSheetBehavior>
      </CoordinatorLayout>
    );
  }
}

export default App;

This code works:

class App extends React.Component<{}> {
  constructor() {
    super();
    this.state = {
      ok: false,
    }
  }

  componentDidMount() {
    setTimeout(() => this.setState({ok: true}), 5000);
  }

  render() {
    return (
      <CoordinatorLayout style={{flex: 1}}>
        {this.state.ok && (
          <BottomSheetBehavior
            peekHeight={70}
            hideable={false}
            state={BottomSheetBehavior.STATE_COLLAPSED}
          >
            <View style={{backgroundColor: '#4389f2'}}>
              <View style={{padding: 26}}>
                <Text>BottomSheetBehavior!</Text>
              </View>
              <View style={{height: 200, backgroundColor: '#fff'}} />
            </View>
          </BottomSheetBehavior>
        )}
      </CoordinatorLayout>
    );
  }
}

Stack:

Attempt to invoke virtual method 'void android.support.v4.widget.ViewDragHelper.process TouhEnvent(android.view.MotionEvent)' on a null object reference

onTouchEvent
RnBottomSheetBehavior.java:273

resetTouchBehaviors
CoordinatorLayout.java:396

onAttachedToWindow
CoordinatorLayout.java:238

dispatchAttachedToWindow
View.java:16638

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.