我想实现instagram的字幕突破功能在一个反应-原生应用程序(一个“更多”链接后的长文本中断),但通过选择确定确切的字符位置行中断放置“更多”链接。
例如,如果标题中有以下文本:
Lorem ipsum dolor同坐,附庸ancillae eos te,eum et justo dolor.镀锡效率尤梅,海在埃克斯珀修斯。与之相类似,卢西利乌斯。在都市人的智慧世界里。[医]鼠尾草属( Partiendo molestiae et eos .)
给定numberOfLines={2},它会在“更多”(而不是确切的2行)之前显示(比如)一行半的文本。
发布于 2019-04-14 13:13:06
发布于 2019-04-14 10:05:15
我不知道这会不会对你有帮助。但这就是我在我的案子里所做的。它对我起了作用
import * as React from 'react';
import {
Text,
View,
StyleSheet,
TextInput,
TouchableOpacity,
} from 'react-native';
export default class Myapp extends React.Component<{}> {
constructor(props) {
super(props);
this.state = {
text: '...more' + '\n',
number: 2,
};
this.dl =
'Lorem ipsum dolor sit amet, putant ancillae voluptaria eos te, eum et justo impetus. Tincidunt efficiendi eu mei, sea at aeque persius. Quo commodo molestie similique eu, pri ei utroque lucilius. Eum cu everti iriure, in duo ludus urbanitas intellegam. Partiendo molestiae et eos, mei wisi cetero recteque ex.sddaefrwtttb tguirdg';
}
render() {
return (
<View style={styles.container}>
<Text numberOfLines={this.state.number} ellipsizeMode={'middle'}>
{this.dl.substr(0, 80)}
<Text
onPress={() =>
this.setState({ number: null, text: this.dl.substr(80) })
}>
{this.state.text}
</Text>
</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
padding: 8,
},
paragraph: {
margin: 24,
fontSize: 18,
fontWeight: 'bold',
textAlign: 'center',
},
});它并不完美,但我认为它会给你一个想法,世博链接
https://stackoverflow.com/questions/55673205
复制相似问题