【问题标题】:Create a sentence with Buttons and TextViews together一起创建一个带有 Buttons 和 TextViews 的句子
【发布时间】:2018-09-18 10:01:58
【问题描述】:

一个多星期以来,我一直在寻找这个问题的答案,但没有运气,所以我在这里提出这个问题:)

我正在创建一个句子,用户需要选择一些选项来完成它。 句子需要看起来自然,不能被换行打断。

使用的组件有:

TextView - Button - TextView - Button - TextView - Button

想要的结果是:

“How far can I go with” 
'20 liters' "if I filled 
in" 'diesel fuel' "if 
the economy is" '10 ltr/100 km'

但是一旦选择了所有选项,屏幕变成:

“How far can I go with”
'20 liters' "if I filled in"
'diesel fuel'
"if the economy is"
'10 ltr/100 km'

我需要让它看起来自然,并尝试将按钮放在 TextViews 中。

我知道在 iOS 中有一个名为“UI Collection View”的组件来完成此行为,但我在 Android 中找不到类似的。

谢谢!

添加了几张图片来澄清。

empty values

with values

编辑:

我们的想法是……

 xxxxxxxxxxx
 Button xxxx
 xxxx Button
 xxxxxxxxxx
 Button

X 是文本

【问题讨论】:

  • 使用LinearLayoutandroid:orientation="horizontal"
  • @Dumbo 目前是这样的,但是如果文本太大,textViews会在按钮下。
  • 如果屏幕显示时间过长,将TextView移到下方。但是,如果它太长,你认为它应该是什么样子?我想你可以尝试制作更小的文本字体
  • @Dumbo 我正在使用不同的语言字符串,用英语可以很好,但在西班牙语或意大利语等其他语言中需要更多。减小文本大小不是一种选择:(
  • 然后你可以使用可滚动(水平)的TextView或Activity Layout

标签: android xml android-layout


【解决方案1】:

您可以通过使用带有 FlexBoxLayoutManager 和两个 itemView 类型的 recyclerview 来实现这一点。(其中一个应该是 textview,其中一个是按钮)。

请查看此网址Google FlexBox

【讨论】:

  • 同样的结果,textViews 没有拆分来填充整个宽度。如果文字太长,则在按钮后面留空。
  • flexbox 是针对这些情况实现的。请阅读 flexbox 文档并以正确的方式使用 flexWrap 选项来填充整个宽度。您可以在提到的链接中看到填充整个行宽的示例
  • imgur.com/a/UiM4UQD 。请检查结果:)。 (由于公司隐私,我隐藏了真实的文本值,对不起)
  • 好的,我现在明白你的意思了。对于大于空格的小部件,无法填充宽度。
  • 谢谢雷扎。遗憾的是,Android 不允许以与 iOS 相同的方式这样做。祝你好运。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-19
相关资源
最近更新 更多