效果:

代码:

 using UnityEngine;
using UnityEditor;
using System.Collections;
using System.IO;
using UnityEngine.SceneManagement; public class Test: EditorWindow
{
[MenuItem("地图/测试")] static void AddWindow()
{
//创建窗口
Test window = (Test)EditorWindow.GetWindow(typeof(Test), false, "test");
window.Show(); } enum RGB
{
red,
green,
blue
} RGB rgb; private int selectedMethod;
bool IsFoldOut;
string folderpath; bool toggle_1;
bool toggle_2;
bool toggle_3; void OnGUI()
{
// if (GUILayout.Button("test"))
// {
// Debug.Log("test"); // }
//最上分栏的小按钮,系统自带图标名称链接:http://www.xuanyusong.com/archives/3777
GUILayout.BeginHorizontal();
GUILayout.FlexibleSpace();
GUIStyle buttonStyle;
buttonStyle = new GUIStyle(UnityEditor.EditorStyles.miniButtonLeft);
if (selectedMethod == )
buttonStyle.normal.background = buttonStyle.onActive.background;
if (GUILayout.Button(EditorGUIUtility.IconContent("TerrainInspector.TerrainToolRaise"), buttonStyle))
{ selectedMethod = ;
}
buttonStyle = new GUIStyle(UnityEditor.EditorStyles.miniButtonRight);
if (selectedMethod == )
buttonStyle.normal.background = buttonStyle.onActive.background;
if (GUILayout.Button(EditorGUIUtility.IconContent("TerrainInspector.TerrainToolSetheight"), buttonStyle))
{ selectedMethod = ;
}
GUILayout.FlexibleSpace();
EditorGUILayout.EndHorizontal();
//说明栏
EditorGUILayout.BeginVertical(GUI.skin.box);
GUILayout.Label("这是一个说明栏", EditorStyles.wordWrappedLabel);
EditorGUILayout.EndVertical(); //枚举pop
rgb =(RGB) EditorGUILayout.EnumPopup("rgb枚举",rgb); //收起控件
IsFoldOut = EditorGUILayout.Foldout(IsFoldOut, "展开控件");
if (IsFoldOut)
{
EditorGUILayout.LabelField(new GUIContent("hello"));
}
//打开文件夹
EditorGUILayout.BeginHorizontal();
GUILayout.Label("打开文件夹:");
folderpath = EditorGUILayout.TextField(folderpath);
if (GUILayout.Button("浏览"))
{ EditorApplication.delayCall += OpenFolder; }
EditorGUILayout.EndHorizontal(); GUIStyle labStyle = new GUIStyle(UnityEditor.EditorStyles.label);
labStyle.fontSize = ;//设置字体大小
labStyle.fontStyle = FontStyle.Bold;//设置粗体
labStyle.alignment = TextAnchor.MiddleCenter;//字体垂直居中
labStyle.normal.textColor =Color.red;//字体颜色
GUILayout.Label(new GUIContent("GUILayout.Label"),labStyle); GUIStyle btnStyle = new GUIStyle(GUI.skin.GetStyle("Button"));
btnStyle.normal.textColor = Color.red;//修改按钮字体颜色
//btnStyle.normal.background
if (GUILayout.Button("GUILayout.Button", btnStyle))
{ } EditorGUILayout.BeginToggleGroup("勾选框",true); EditorGUILayout.EndToggleGroup();
// GUIStyle btnStyle = new GUIStyle(GUI.skin.GetStyle(""));
// GUIStyle buttonStyle= new GUIStyle(UnityEditor.EditorStyles.label);
// EditorGUILayout.LabelField(new GUIContent("EditorGUILayout.LabelField"));
this.Repaint();
} void OpenFolder()
{
string scenePath = SceneManager.GetActiveScene().path;
string path = EditorUtility.OpenFolderPanel("选择文件夹", "","");
if (path.Length == )
return;
folderpath = path;
}
}

常见UI组件的一个模板的更多相关文章

  1. Android常见UI组件之ListView(二)——定制ListView

    Android常见UI组件之ListView(二)--定制ListView 这一篇接上篇.展示ListView中选择多个项及实现筛选功能~ 1.在位于res/values目录下的strings.xml ...

  2. Android常见UI组件之ListView(一)

    使用ListView显示一个长的项列表 1.新建一个名为"BasicView5"的Android项目. 2.改动BasicView5.java文件.改动后的程序例如以下: pack ...

  3. 这是一个比较全的Android UI 组件

     Android组件及UI框架大全 原文地址:http://blog.csdn.net/smallnest/article/details/38658593 Android 是目前最流行的移动操作系统 ...

  4. 前端UI组件复用工具

    "懒"是第一生产力. 代码复用总是程序员喜闻乐见的,前端组件化的最终目的就是复用,今天我们就将深入探讨如何实现UI组件的复用. 通常我们所说的组件往往是包含业务逻辑的前端组件,而这 ...

  5. 学习通过Thread+Handler实现非UI线程更新UI组件

    [Android线程机制] 出于性能考虑,Android的UI操作并不是线程安全的,这就意味着如果有多个线程并发操作UI组件,可能导致线程安全问题.为了解决这个问题,Android制定了一条简单的规则 ...

  6. 学习通过Thread+Handler实现非UI线程更新UI组件(转)

    [Android线程机制] 出于性能考虑,Android的UI操作并不是线程安全的,这就意味着如果有多个线程并发操作UI组件,可能导致线程安全问题.为了解决这个问题,Android制定了一条简单的规则 ...

  7. 创建一个pre标签展开折叠的UI组件(原创)

    这些天练习UI组件的编写,顺便模仿一个h5版本的pre标签收缩展开的效果组件: 兼容ie8.9,谷歌,火狐: 图片效果如下: demo.html代码: <!DOCTYPE html> &l ...

  8. 创建一个自己的Vue UI组件库,并将它发布在npm上

    本文仅限于入门级,没有成规模制作,希望能对你有所帮助. 因为在开发多个项目中可能会用到同一个组件,那么我们通过复制粘贴的形式更新,无异于是笨拙的,我们可以通过上传到npm后,不断迭代npm包来实现更新 ...

  9. 2021 从零开始打造一个自己的 UI 组件库

    2021 从零开始打造一个自己的 UI 组件库 refs GUI https://github.com/xgqfrms/gui/ https://www.npmjs.com/package/@xgqf ...

随机推荐

  1. django开发环境部署之pip、virtualenv、virtualenvwrapper

    step1:安装pip 在python中可以使用easy_install和pip安装python拓展但推荐使用pip Don't use easy_install, unless you like s ...

  2. java gc log

    java full gc 经常带来延迟, 导致性能问题 如下命令使java虚拟机记录gc的log到文件, 帮助分析定位问题. java -Xloggc:./a.log -jar a.jar    // ...

  3. 对中级 Linux 用户非常有用的 20 个命令

    FROM:http://www.oschina.net/translate/20-advanced-commands-for-middle-level-linux-users 21. 命令: Find ...

  4. 性能测试篇 :Jmeter监控服务器性能

    转载:http://www.cnblogs.com/chengtch/p/6079262.html jmeter也可以像loadrunner一样监控服务器CPU.内存等性能参数,不过需要安装一些插件 ...

  5. LeetCode题目:Best Time to Buy and Sell Stock

    原题地址:https://leetcode.com/problems/best-time-to-buy-and-sell-stock/ 解决方法:动态规划,minimun存储的是当前价格中最小的. c ...

  6. R 安装 简单实用

    下载和安装Windows环境的R 1.进入主页,点击 蓝色加粗的 download R 2.随便点击一个镜像,这里点击的是http://mirror.fcaglp.unlp.edu.ar/CRAN/ ...

  7. java中替换双引号 Java问题通用解决代码 Java问题通用解决代码

    http://blog.csdn.net/newhappy2008/article/details/4785263 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...

  8. smali 语法参考

    原文见:http://www.blogjava.net/midea0978/archive/2012/01/04/367847.html Dalvik opcodes Author: Gabor Pa ...

  9. H265 Rtp封包

    H265 Rtp封包可以参考Ffmpeg,具体实现在文件rtpenc_h264_hevc.c(4.0.1版本),核心的方法是nal_send 这个方法有些绕,下面帖子具体的代码及注释. static ...

  10. Ubuntu Server 命令行下显示中文乱码(菱形)解决办法

    如果Ubuntu Server在安装过程中,选择的是中文(很多新手都会在安装时选择中文,便于上手),这样在完成安装后,系统默认的语言将会是中文zh_CN.UTF- 8.但问题是我们安装的是服务器,只需 ...