【问题标题】:Dynamic view according to the length of the text根据文本长度动态查看
【发布时间】:2018-09-18 23:36:45
【问题描述】:

我正在开发一个带有本机反应的应用程序,但我遇到了图形问题。我的文本需要有一个动态黄色条(在视图中),如下所示:

因此,这意味着如果我有较长的文本,则栏应该更长,如果文本较短,则栏也应该更短并且适合它。现在我使用静态方法。我给 90 作为不好的条的宽度。代码如下:

<View style={[styles.rowSep, {width:90}]}/>
<Text style={[commonStyle.normalItem , {marginBottom:10}]}>
    {I18n.t("Il_Museum_Modena")}
</Text>

风格如下:

rowSep: {
    height: 7,
    marginVertical: 4,
    //width: Dimensions.get('window').width,
    backgroundColor: '#FABB00',
    marginBottom:12,
         },

你能帮我根据文本的长度制作动态黄色条吗?提前致谢。

【问题讨论】:

  • 有两种可能的方法来做到这一点。要么通过css应用下划线,这样你的下划线就会随着文本增长。或者添加 2 个元素(一个用于文本,一个用于下划线,并使它们占据容器 100% 的宽度。
  • @ShobhitChittora:感谢您的回答,我有点不清楚。我可以请你写它作为答案吗?提前致谢。

标签: reactjs react-native


【解决方案1】:

你可以用 View 包裹 Text 并设置视图 StyleSheet 来实现你想要的效果。

例子:

<View style={styles.textwrapper}>
  <Text>Just test</Text>
</View>

风格:

textwrapper: {
  borderBottomWidth: 5px,
  borderBottomColor: #234532,
  borderStyle: 'solid'
}

我没有测试过这段代码,但希望能给你一些提示。

【讨论】:

  • 感谢您的回答,但确实有效。事实上,它使栏适合容器(屏幕)。因此,如果文本比容器短(始终如此),则不会根据文本拟合条形的低度,它会变得更长。
  • 你应该设置视图样式表来调整文本的宽度。有很多解决方案。
  • 你可以使用 flex 和 alignself 属性来做到这一点。
  • 我是 React Native 世界的新手。你能给我一个链接或指南,以便我了解如何做到这一点。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-17
  • 2011-01-26
  • 2014-11-06
  • 2021-02-02
  • 2018-06-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多