【发布时间】:2018-05-07 20:46:28
【问题描述】:
我的 btn 组件有问题,我正在使用 react-native-linear-gradient lib...
btn.js
import React,{ Component } from 'react';
import {View,Text,StyleSheet, TouchableOpacity} from 'react-native';
import {Button,Item} from 'native-base';
import LinearGradient from 'react-native-linear-gradient';
class GradientBtn extends Component {
constructor(props){
super(props);
}
render(){
return(
<LinearGradient colors={['#d7d7d7', '#fafafa', '#e8e8e8']}
style={[styles.btnContainer,{height:this.props.h,width:this.props.w}]}>
<Text style={styles.btn}>{this.props.name}</Text>
</LinearGradient>
);
}
}
var styles = StyleSheet.create({
btnContainer:{
backgroundColor:'#f0f0f0',
justifyContent:'center',
marginLeft:1
},
btn:{
textAlign:'center',
color:'#000',
fontWeight:'700',
fontSize:12
}
});
export default GradientBtn;
app.js
<View style={{flexDirection:'row',justifyContent:'space-between',marginTop:5}}>
<TouchableOpacity>
<GradientBtn h={35} w={'24.55%'} name="Open Corrective"/>
</TouchableOpacity>
<TouchableOpacity>
<GradientBtn h={35} w={'24.55%'} name="Open Corrective"/>
</TouchableOpacity>
<TouchableOpacity>
<GradientBtn h={35} w={'24.55%'} name="Open Corrective"/>
</TouchableOpacity>
<TouchableOpacity>
<GradientBtn h={35} w={'24.55%'} name="Open Corrective"/>
</TouchableOpacity>
</View>
当我从组件中删除 TouchableOpacity 标记时,视图会正常,但是当我放置此标记时我希望在该 btn 上触摸不透明度,然后我的视图将压缩意味着宽度并且没有看到正确的 btn..
【问题讨论】:
-
您可能还想尝试在
TouchableOpacity上使用flex: 1,作为参考,这是我的组件库:github.com/thomaswangio/react-native-gradient-buttons
标签: javascript reactjs button react-native