我正在使用DrawerLayoutAndroid并努力研究如何以编程方式打开和关闭它。

我看到你应该使用

openDrawer(0),但是如何引用DrawerLayoutAndroid

我有一个与文档完全相同的抽屉,然后在视图上有一个按钮,如果您按它,我希望它打开DrawerLayoutAndroid

我创建了这个功能

toggleDrawer(){
  openDrawer(0);
};


但这显然行不通,只会引发错误。

最佳答案

您应该为此使用引用。我在这里粘贴示例供您参考

    var DrawerExample = React.createClass({

        openDrawer:function() {
            this.refs['myDrawer'].openDrawer();
        },

        closeDrawer:function() {
            this.refs['myDrawer'].closeDrawer();
        },

        render: function() {
            var navigationView = (
                <View style={{flex: 1, backgroundColor: '#fff'}}>
                    <Text style={{margin: 10, fontSize: 15, textAlign: 'left'}}>I'm in the Drawer!</Text>

                    <TouchableHighlight onPress={this.closeDrawer}>
                        <Text>{'Close Drawer'}</Text>
                    </TouchableHighlight>

                </View>
            );
            return (
                <DrawerLayoutAndroid ref="myDrawer"
                    drawerWidth={300}
                    drawerPosition={DrawerLayoutAndroid.positions.Left}
                    renderNavigationView={() => navigationView}>
                    <View style={{flex: 1, alignItems: 'center'}}>
                        <Text style={{margin: 10, fontSize: 15, textAlign: 'right'}}>Hello</Text>
                        <Text style={{margin: 10, fontSize: 15, textAlign: 'right'}}>World!</Text>

                        <TouchableHighlight onPress={this.openDrawer}>
                            <Text>{'Open Drawer'}</Text>
                        </TouchableHighlight>

                    </View>
                </DrawerLayoutAndroid>
            );
        },
    });

关于react-native - 以编程方式 react native 打开DrawerLayoutAndroid,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38280313/

10-12 12:24