react-native-navigation的迁移库

ScrollViewScreen.js 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. const React = require('react');
  2. const { Component } = require('react');
  3. const { StyleSheet, ScrollView, View, Button } = require('react-native');
  4. const Navigation = require('react-native-navigation');
  5. const testIDs = require('../testIDs');
  6. class ScrollViewScreen extends Component {
  7. static get options() {
  8. return {
  9. topBar: {
  10. translucent: false
  11. }
  12. };
  13. }
  14. constructor(props) {
  15. super(props);
  16. this.state = {
  17. topBarHideOnScroll: false
  18. };
  19. this.onClickToggleTopBarHideOnScroll = this.onClickToggleTopBarHideOnScroll.bind(this);
  20. }
  21. render() {
  22. return (
  23. <View>
  24. <ScrollView testID={testIDs.SCROLLVIEW_ELEMENT} contentContainerStyle={styles.contentContainer}>
  25. <View>
  26. <Button title="Toggle Top Bar Hide On Scroll" testID={testIDs.TOGGLE_TOP_BAR_HIDE_ON_SCROLL} onPress={this.onClickToggleTopBarHideOnScroll} />
  27. </View>
  28. </ScrollView>
  29. </View>
  30. );
  31. }
  32. onClickToggleTopBarHideOnScroll() {
  33. Navigation.setOptions(this.props.componentId, {
  34. topBar: {
  35. hideOnScroll: !this.state.topBarHideOnScroll
  36. }
  37. });
  38. }
  39. }
  40. module.exports = ScrollViewScreen;
  41. const styles = StyleSheet.create({
  42. contentContainer: {
  43. alignItems: 'center',
  44. height: 1200
  45. }
  46. });