为什么只设置右边按钮,按钮会在左边显示,两个都显示则正常,样式都是跟老师写的一样的
来源:8-13 My(我的)模块关于作者页面实现-2
张浩宇24
2017-08-07
写回答
2回答
-
慕神8397155
2017-10-19
我的也是同样的问题,仔细看了navigationbar的navBar样式,发现原因是titleViewContainer是绝对定位,不占高度,而nabar的flexDirection为‘row’justifyContent为‘space-between’,当没有leftbutton时,rightbutton就靠左了,有leftbutton时,rightbutton和leftbutton就是‘space-between’ layout的
012017-10-19 -
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> }
00
相似问题