为什么只设置右边按钮,按钮会在左边显示,两个都显示则正常,样式都是跟老师写的一样的

来源:8-13 My(我的)模块关于作者页面实现-2

张浩宇24

2017-08-07

http://szimg.mukewang.com/5988755e000178ae20561136.jpg

写回答

2回答

慕神8397155

2017-10-19

我的也是同样的问题,仔细看了navigationbar的navBar样式,发现原因是titleViewContainer是绝对定位,不占高度,而nabar的flexDirection为‘row’justifyContent为‘space-between’,当没有leftbutton时,rightbutton就靠左了,有leftbutton时,rightbutton和leftbutton就是‘space-between’ layout的

0
1
慕神8397155
将NavigationBar.js render中conten改为 let content=即可
2017-10-19
共1条回复

CrazyCodeBoy

2017-08-09

可参照:

let navigationBar =
    <NavigationBar
        title={'最热'}
        statusBar={statusBar}
        style={this.state.theme.styles.navBar}
        rightButton={this.renderRightButton()}
    />;
renderRightButton() {
    return <View style={{flexDirection:'row'}}>
        <TouchableOpacity
            onPress={()=> {
                NavigatorUtil.goToSearchPage(this.props)
            }}
        >
            <View style={{padding:5,marginRight:8}}>
                <Image
                    style={{width:24,height:24}}
                    source={require('../../res/images/ic_search_white_48pt.png')}
                />
            </View>

        </TouchableOpacity>
        {ViewUtils.getMoreButton(()=>this.refs.moreMenu.open())}
    </View>
}
/**
 * 获取更多按钮
 * @param callBack
 * @returns {XML}
 */
static getMoreButton(callBack) {
    return <TouchableHighlight
        underlayColor={'transparent'}
        ref="moreMenuButton"
        style={{padding: 5}}
        onPress={callBack}
    >
        <View style={{paddingRight: 8}}>
            <Image
                style={{width: 24, height: 24,}}
                source={require('../../res/images/ic_more_vert_white_48pt.png')}
            />
        </View>
    </TouchableHighlight>
}


0
0

React Native技术精讲与高质量上线App开发

一个真实的上线项目,一次完整的开发过程,全面掌握React Native技术

1577 学习 · 727 问题

查看课程