官术网_书友最值得收藏!

Touchable opacity

When a button needs a custom look, it quickly seems like you need a better alternative. This is where TouchableOpacity comes into play. It serves every purpose when inner content needs to become touchable. Hence, we will make our own button and style it as we like:

class LikeCounter extends React.Component {
state = {
likeCount: 0
}
like = () => this.setState({likeCount: this.state.likeCount + 1})
unlike = () => this.setState({likeCount: this.state.likeCount - 1})

render = () => (
<View style={styles.container}>
<TouchableOpacity
style={styles.button}

onPress={this.unlike}
>
<Text>Unlike</Text>
</TouchableOpacity>
<Text style={styles.text}>{this.state.likeCount}</Text>
<TouchableOpacity
style={styles.button}

onPress={this.like}
>
<Text>Like</Text>
</TouchableOpacity>
</View>
);
}

Some example styles follow. We will dig further into styles in Chapter 3, Styling Patterns:

const styles = StyleSheet.create({
container: {
flexDirection: 'row',
paddingTop: 20,
paddingLeft: 20
},
button: {
alignItems: 'center', // horizontally centered
justifyContent: 'center', // vertically centered
backgroundColor: '#DDDDDD',
padding: 20
}
,
text: {
fontSize: 45
}
});

The button's contents are centered vertically and horizontally. We have a custom gray background color and padding inside of the button. Padding is the space from the children to the border of the component.

Now that we know about these simple components, we are ready to proceed further and explore how forms are built and how to handle more complicated use cases.

主站蜘蛛池模板: 东港市| 含山县| 天水市| 长春市| 南京市| 论坛| 周宁县| 沙洋县| 潢川县| 德州市| 包头市| 平凉市| 六枝特区| 清远市| 安庆市| 雷山县| 五指山市| 崇明县| 菏泽市| 逊克县| 佛坪县| 龙江县| 湘潭市| 峨边| 高密市| 莎车县| 繁昌县| 西乌珠穆沁旗| 额济纳旗| 长顺县| 天津市| 佛学| 曲阜市| 龙江县| 平舆县| 佳木斯市| 无锡市| 叶城县| 甘肃省| 浦县| 周口市|