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

时间:2016-12-02 09:05:20

标签: c# unity3d unity5

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

  • 我刚开始学习Unity。
  • 我试图创建list view但没有成功。
  • 我有一组字符串,我需要显示为list viewscroll view
  • 一个在另一个之下,我现在已将字符串输入List<string>

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

我还尝试将字符串添加到scroll view的内容中,但我还没有设法让它工作。

有人可以提供参考吗?

1 个答案:

答案 0 :(得分:3)

我能想到的“最简单”和最优雅的方式是使用Vertical Layout Group

  1. 在画布下添加一个新的空游戏对象
  2. 使用RectTransform组件
  3. 设置所需的尺寸
  4. 附加“垂直布局组”组件
  5. 在您的代码中,列表中的每个字符串:
    • 创建一个新的GameObject:
    • 将文本组件附加到其中
    • 使用字符串
    • 填充text属性
    • 将转换的父级设置为第1步中的第一个空游戏对象
  6. 以下是一段代码我尚未测试

    // 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] ;
    }
    

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