我的任务很简单我有一系列名称,每个名称都作为单独的textview添加。但是我的一些数组很长,文本视图太大,无法放在屏幕上。结果非常糟糕,我不知道如何解决它。我试图使用所有不同的(据我所知)布局类型,并且它们似乎都没有完成我想要的工作。当没有剩余空间时,我只是希望它们跳到新线。有点像这样的工作方式:https://www.w3schools.com/css/tryit.asp?filename=trycss_float_elements
它的外观如下:enter image description here 这是我目前的代码:
for (game in games) {
verticalLayout {
padding = dip(5)
//border color
verticalLayout {
padding = dip(3)
backgroundColor = Color.rgb(227, 227, 227)
//background golor
verticalLayout {
padding = dip(3)
backgroundColor = Color.rgb(250, 250, 250)
linearLayout {
var players = App.instance.db.getPlayerScores(game.toLong())
var isFirst = true
var colors = ArrayList(Arrays.asList(Color.BLUE, Color.RED, Color.GREEN, Color.MAGENTA, Color.YELLOW,Color.BLUE, Color.RED, Color.GREEN, Color.MAGENTA, Color.YELLOW,Color.BLUE, Color.RED, Color.GREEN, Color.MAGENTA, Color.YELLOW))
var ci = 0;
for (player in players) {
if (!isFirst) {
textView {
text = " vs. "
textSize = 18f
}
}
textView {
text = player.name
textSize = 24f
textColor = colors[ci]
ci += 1
}
isFirst = false
}
}
textView {
val date = App.instance.db.getGameTime(game)
text = date.substring(0, 16)
textSize = 18f
textColor = Color.GRAY
}
}
}
}
}
如果没有计算linearLayout中内容的长度,应该有一些解决方案,如果下一个项目太大而不适合,可以创建一个新的leanaerLayout吗?如果不是......怎么可能这样做?