如何在TouchableOpacity中插入文本和图像?

时间:2019-03-27 08:51:43

标签: css react-native

我有一个登录按钮,我想在按钮的中心放置一个登录文本,并在按钮的右边缘放置一个图像(适当缩放),远离文本。

目前,我正在通过以下方式使用“矢量图标”库中的图标:

<TouchableOpacity style={styles.buttonLoginTouchable} onPress={this.loginUser.bind(this)}>
    <View style={{ flexDirection: 'row' }}>
        <Text style={{ color: '#ffffff', fontWeight: '700', paddingLeft: '46%' }}>Login</Text>
        <Icon name="arrow-right" color='#fff' size={15} style={{ paddingLeft: '33%' }} />
    </View>
</TouchableOpacity>

这可能也不是最好的方法。现在,我想用图像替换图标,所以我写了以下代码:

<TouchableOpacity style={styles.buttonLoginTouchable} onPress={this.loginUser.bind(this)}>
    <View style={{ flexDirection: 'row' }}>
        <Text style={{ color: '#ffffff', fontWeight: '700', flex: 0.9 }}>Login</Text>
        <Image source={require('../../common/arrow.png')} resizeMode='contain' style={{ height: 10 }} />
    </View>
</TouchableOpacity>

这样,图像缩放比例就以某种方式放置在右侧,但是不再水平对齐(我不明白为什么)。

有人知道实现我想要的风格的最佳方法吗?

2 个答案:

答案 0 :(得分:0)

请参阅以下简单示例,以在react native中的touchableopacity组件中添加图像。您只需将图像组件包装在touchableopacity组件内,就非常简单。

<TouchableOpacity activeOpacity = { .5 } onPress={ this.callFun }> 
 <Image source={require('./images/sample_image_button.png')} style = {styles.ImagesStyle} />          
</TouchableOpacity>

答案 1 :(得分:0)

像这样使用它:

<TouchableOpacity style={{flexDirection:"row",alignItems:'center',justifyContent:'center'}}>
    <Text style={{flex:.8}}>Login</Text>
    <Image source={require('../../common/arrow.png')} resizeMode='contain' style={{flex:.2 }} />
</TouchableOpacity>