效果:

代码:

 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. MySQL Cluster导入数据表时报错:Got error 708 'No more attribute metadata records (increase MaxNoOfAttributes)' from NDBCLUSTER

    准备把以前的非集群版MySQL数据导入到MySQL Cluster中,出现 'No more attribute metadata records (increase MaxNoOfAttribute ...

  2. tcp 三次握手和四次断连深入分析:连接状态和socket API的关系----BAT 李运华

    http://blog.csdn.net/yunhua_lee/article/details/40513677 http://blog.csdn.net/yah99_wolf/article/cat ...

  3. JQuery插件开发格式

    原地址 一.jQuery扩展 1.$.extend(object) 类似于.Net的扩展方法,用于扩展jQuery.然后就可以用$.的方式调用. $(function(){ $.extend({ fu ...

  4. Android kernel Crash后,定位出错点的方法

    转载:http://blog.csdn.net/wlwl0071986/article/details/11635749 1. 将/prebuild/gcc/linux-x86/arm/arm-lin ...

  5. JAVA常见算法题(十四)

    package com.xiaowu.demo; /** * 输入某年某月某日,判断这一天是这一年的第几天? * * * @author WQ * */ public class Demo14 { p ...

  6. easyui text-box multiline

    //多行文本输入框 <input id="payDescribe" class="easyui-textbox" data-options="m ...

  7. 代理Delegation

    package com.ctl.test; class Person { private int id; private String name; public int getId() { retur ...

  8. HTML图片热区

    文章来源于:https://www.cnblogs.com/mq0036/p/3337327.html <!DOCTYPE html> <html lang="en&quo ...

  9. Java Applet 基础

    Java Applet 基础 Applet 是一种 Java 程序.它一般运行在支持 Java 的 Web 浏览器内.因为它有完整的 Java API支持,所以Applet 是一个全功能的 Java ...

  10. CSS——如何清除浮动

    众所周知,平时在写HTML代码时,难免少不了使用Float样式,这样一来,假使您没有清除浮动,那么有浮动元素的父元素容器将元素将无法自动撑开.换句简单好理解的话来说,假如你在写CODE时,其中div. ...