如何统一创建一个基本的列表视图

How to create a basic listview in unity

我需要在游戏开发引擎 Unity 的场景中创建一个基本的 list viewscroll view

现在正在做的是将字符串设置为直接显示换行符,\n

我也试过将字符串统一添加到 scroll view 的内容中,但我没能成功。

谁能提供参考?

我能想到的 "easiest" 也是最优雅的方法是使用 Vertical Layout Group

  1. 在您的 canvas
  2. 下添加一个新的空游戏对象
  3. 使用 RectTransform 组件设置所需的尺寸
  4. 附加 "Vertical Layout Group" 组件
  5. 在您的代码中,对于列表中的每个字符串:
    • 创建一个新的游戏对象:
    • 给它附加一个文本组件
    • 用您的字符串填充 text 属性
    • 将变换的父级设置为第一步中的第一个空游戏对象

这是一段代码我没测试过 :

// Drag & Drop the vertical layout group here
public UnityEngine.UI.VerticalLayoutGroup verticalLayoutGroup ;

// ... In your function
RectTransform parent = verticalLayoutGroup.GetComponent<RectTransform>() ;
for( int index = 0 ; index < stringList.Count ; ++index )
{
     GameObject g = new GameObject( stringList[index] ) ;
     UnityEngine.UI.Text t = g.AddComponent<UnityEngine.UI.Text>();
     t.addComponent<RectTransform>().setParent( parent ) ;
     t.text = stringList[index] ;
}

如果您需要更多自定义,您可以实例化一个预制件,而不是手动创建文本游戏对象。