【第一章编辑器开发基础第一节绘制编辑器元素_7折叠面板控件(7/7)】

折叠面板控件

​​用途​​:组织/隐藏复杂UI区块

​​所属类​​:EditorGUILayout

​​调用位置​​:OnInspectorGUI()

​​标准实现​​:

csharp 复制代码
foldout = EditorGUILayout.Foldout(foldout, "面板标题", true);

if(foldout) {
    // 展开状态下的内容
    GUILayout.Button("子控件");
}

​​使用技巧​​:

第三个参数控制是否有展开动画

面板内可嵌套任意UI元素

状态管理需开发者自行维护

特别适合组织同类配置项

​​记忆口诀​​:

"折叠面板三件套:状态变量、Foldout调用、if包裹内容"

示例代码和效果图

csharp 复制代码
using UnityEngine;
using UnityEditor;

/// <summary>
/// 创建自定义编辑器,作用于Example组件
/// </summary>
[CustomEditor(typeof(Example))]
public class ExampleEditor : Editor
{


    private bool foldout1; // 折叠面板1的状态
    private bool foldout2; // 折叠面板2的状态

    // ================= 核心方法 - 绘制编辑器界面 =================
    public override void OnInspectorGUI()
    {
        // 1. 先绘制默认Inspector内容
        base.OnInspectorGUI();

        // 2. 依次绘制各种自定义控件

        Foldout();     // 折叠面板


      
    }


   

    // ================= 7. 折叠面板控件 =================
    private void Foldout()
    {
        // 折叠面板1(带展开/收起动画)
        foldout1 = EditorGUILayout.Foldout(foldout1, "Foldout1", true);
        if (foldout1) // 展开状态时显示内容
        {
            GUILayout.Label("Hello world", EditorStyles.miniBoldLabel);
            GUILayout.Label("Hello world", EditorStyles.boldLabel);
            GUILayout.Label("Hello world", EditorStyles.largeLabel);
        }

        // 折叠面板2
        foldout2 = EditorGUILayout.Foldout(foldout2, "Foldout2", true);
        if (foldout2) // 展开状态时显示内容
        {
            GUILayout.Button("btn1");
            GUILayout.Button("btn2");
            GUILayout.Button("btn3");
        }
    }


}
相关推荐
小贺儿开发7 小时前
Unity VideoPlayer 播放控制器
unity·编辑器·播放器·视频·工具·videoplayer·互动
Kingairy13 小时前
vi(vim)常用命令汇总
linux·编辑器·vim
互联网散修16 小时前
鸿蒙实战:图片编辑器——添加文字的UI适配与键盘避让
ui·编辑器·harmonyos
网易Y3编辑器16 小时前
AI全流程创游丨网易Y3编辑器Full Mode与Patch Mode双模式架构深度解析
人工智能·架构·编辑器
互联网散修16 小时前
鸿蒙实战:图片编辑器——涂鸦、撤回与保存功能
编辑器·harmonyos·涂鸦·图片编辑
棒棒的唐1 天前
Vscode Continue插件 集成 本地llama.cpp大模型实现代码补全
ide·vscode·编辑器
万粉变现经纪人2 天前
2026最新Windows11系统CMD安装Claude Code 快速接入DeepSeek V4 Pro在VSCode编程工具中使用保姆级入门教程指南
linux·运维·ide·windows·vscode·macos·编辑器
Smoothcloud润云2 天前
5大功能精修,重构AI算力使用体验!
java·人工智能·windows·算法·重构·编辑器·sublime text
特立独行的猫a3 天前
鸿蒙 PC 移植记:将微软的 `edit` 轻量级终端编辑器带到 OpenHarmony
microsoft·rust·编辑器·harmonyos·鸿蒙pc·edit
2501_916008893 天前
全面解析常用Web前端开发工具:编辑器、调试工具、性能分析器与框架
android·前端·ios·小程序·uni-app·编辑器·iphone