创建Button后,会出现一个Image组件和一个Button组件,以及Button子节点Text(可以删除不影响功能)

其中Image的Image Type中有四个选项--Simple、Sliced、Tiled、Filled

(1)

Simple即把图片放上去不做任何处理,Preserve Aspect选中后Sprite会保留原有宽高不被拉伸,默认不选中

(2)

Sliced--切片,图片切片显示,在Project页面选中图片,切换为Sprite(2D and UI)模式后,点击Sprite Editor进入图片裁切模式,将图片裁切为上图的形状,使用Sliced模式后,根据图片边框拉伸,图片的四个角会保持原状,而1和4部分会随着图片的横向拉伸而拉伸,2和3部分会随着图片的纵向拉伸而拉伸,图片的中间部分会拉伸5进行填充。

Fill Center--填充中心。勾选后,5显示,反之,5不可见。

(3)

Tiled--平铺的,若图片已经过裁切,则使用Tiled模式后,根据图片边框拉伸,图片的四个角会保持原状,而1和4部分会随着图片的横向拉伸而拉伸,2和3部分会随着图片的纵向拉伸而拉伸,图片的中间部分会用5进行平铺填充。若图片未裁切,则使用Tiled模式后,根据图片边框拉伸,图片保持原大小不做变化,只是用自身平铺填充。

Fill Center--填充中心。已裁切的图像源才有此选项)勾选后,5显示,反之,5不可见。

(4) 

Fill Method中的选项--Horizontal、Vertical、Radial 90、Radial 180、Radial 360

Fill Origin--填充起点

Fill Amount--填充进度

Radial 模式下会出现ClockWise--是否顺时针

Preserve Aspect--同上

Set Natice Size--将content的大小设置为Sprit相同大小

Fill Method 和 Fill Origin搭配确定填充方式和填充起点。

--------------------------------------------------------------------------------------------------------------------------------

Button组件

Interactable----是否禁用按钮,如果禁用,按钮界面将会产生Dissable的效果

Transition----可以设置按钮再不同状态下的表现形式,有None、Color Tint、Sprite Swap、Animation四种选项

(1)

None--没有任何效果,点击按钮不会产生界面上的变化

(2)

Color Tint--颜色过度模式

Target Graphic--图片组件

Normal Color--正常按钮颜色

Highlighted Color--高亮颜色,鼠标经过时会显示的颜色

Pressd Color--按下的颜色

Disable Color--禁用时的颜色

Color Multiplier--颜色切换系数,颜色切换速度,越大则颜色在几种状态间变化速度越快。

Fade Duration--衰落时间,颜色变化的延时时间,越大则变化越不明显。

(3)

Sprite Swap--图片切换模式

Target Graphic--目标图片组件

Highlighted Sprite--高亮时的图片

Pressed Sprite--按下的图片

Disable Sprite--禁用时图片

(4)

Auto Generate Animation--自动生成动画控制器,设置trigger进行切换

Navigation--导航模式

假如你现在有四个按钮,当你点击第一个时,第一个会保持选中状态,然后通过按键盘方向键,会导航将选中状态切换到下一个按钮上,例如你的第一个按钮下方存在第二个按钮,当你选中第一个按方向键下时,第一个按钮的选中状态取消,第二个按钮进入选中状态,前提是这些按钮都开启了导航功能。

None(关闭):关闭导航。

Automatic(自动导航):自动识别并导航到下一个控件。

Horizontal(水平导航):水平方向导航到下一个控件。

Vertical(垂直导航):垂直方向导航到下一个控件。

Explicit(指定导航):特别指定在按下特定方向键时从此按钮导航到哪一个控件。

可以在Scene下看到按钮的导航关系

OnClick事件列表。不推荐这样使用,代码中进行绑定。例如:

btn.onClick.AddListener(()=> { });

参考文献:https://blog.csdn.net/qq992817263/article/details/51754189

Unity UGUI之Button的更多相关文章

  1. Unity UGUI实现Button按钮长按状态的判断

    代码: using UnityEngine.EventSystems; using System.Collections; /// <summary> /// 脚本位置:UGUI按钮组件身 ...

  2. Unity UGUI

    超详细的基础教程传送门:(持续更新中) Unity UGUI之Canvas&EventSystem:http://blog.csdn.net/qq992817263/article/detai ...

  3. Unity UGUI鼠标穿透UI问题(Unity官方的解决方法)

    简述 最近在用UGUI的时候遇到了鼠标穿透的问题,就是说在UGUI和3D场景混合的情况下,点击UI区域同时也会 触发3D中物体的鼠标事件.比如下图中 这里给Cube加了一个鼠标点击改变颜色的代码,如下 ...

  4. Unity uGUI 登录界面

    小记:进入冬季,天气确实变冷了,即使这样也不能作为自己不学习的理由!!! 昨天咱们一起学习了UGUI的Button的相关知识,那么今天咱们做一个简单的登录Demo,有些人可能不屑但是多学点总没什么坏处 ...

  5. Unity UGUI —— 无限循环List

    还记得大学毕业刚工作的时候是做flash的开发,那时候看到别人写的各种各样的UI组件就非常佩服,后来自己也慢慢尝试着写,发现其实也就那么回事.UI的开发其实技术的成分相对来说不算多,但是一个好的UI是 ...

  6. Unity UGUI图文混排源码(三) -- 动态表情

    这里是根据图文混排源码(二)进一步修改的,其他链接也不贴了,就贴一个链接就好了,第一次看这文章的同学可以先去看看其他几篇文章 Unity UGUI图文混排源码(二):http://blog.csdn. ...

  7. Unity UGUI图文混排源码(二)

    Unity UGUI图文混排源码(一):http://blog.csdn.net/qq992817263/article/details/51112304 Unity UGUI图文混排源码(二):ht ...

  8. Unity UGUI图文混排源码(一)

    Unity UGUI图文混排源码(一):http://blog.csdn.net/qq992817263/article/details/51112304 Unity UGUI图文混排源码(二):ht ...

  9. Unity UGUI实现图文混排

    目前在unity实现图文混排的好像都是通过自定义字体然后在文本获取字符的位置,用图片替换掉图片标签,这样对于支持英文来说,并没有什么影响.然后对于中文来说就是一个相当麻烦的事了,毕竟图文混排多用于游戏 ...

随机推荐

  1. nginx配置不当导致的目录遍历下载漏洞-“百度杯”CTF比赛 2017 二月场

    题目:http://98fe42cede6c4f1c9ec3f55c0f542d06b680d580b5bf41d4.game.ichunqiu.com/login.php 题目内容: 网站要上线了, ...

  2. 配置kernel的log buf大小(如果kmsg log被覆盖)

    如果在打印kmsg log时发现log被覆盖,log 的buf不够大可以使用默认配置调buf: defconfig CONFIG_LOG_BUF_SHIFT=20  (默认是17  2的17次方)   ...

  3. SSL handshake failed: SSL error: Key usage violation in certificate has been detected.

    sudo apt-get install libneon27-dev cd /usr/libsudo mv libneon-gnutls.so.27 libneon-gnutls.so.27.olds ...

  4. centos7-sar工具的安装过程及其简单应用

    一.sar工具安装 1.进入yum配置文件目录: cd /etc/yum.repos.d/ 2.vi CentOS-Base.repo命令创建文件CentOS-Base.repo 文件内容见网页:ht ...

  5. 使用Git Wiki 管理文档时,文档编写的基本用法

    自己初次接触GitLab,通过百度和自己查找资料,了解了一部分.在自己的工作中,主要用到GitLab的Wiki文档版本管理能力.我总结了一小部分文本编辑需要用到的东西. 一.文本的排版 为了让文本/文 ...

  6. C#串口serialPort操作

    现在大多数硬件设备均采用串口技术与计算机相连,因此串口的应用程序开发越来越普遍.例如,在计算机没有安装网卡的情况下,将本机上的一些信息数据 传输到另一台计算机上,那么利用串口通信就可以实现.运行本程序 ...

  7. BeanUtils简化数据封装

    BeanUtils主要用来封装JavaBean的. 1.什么是JavaBean JavaBean指的是标准的类. 要求: 1. 类必须被public修饰2. 必须提供空参的构造器3. 成员变量必须使用 ...

  8. PHP下利用PHPMailer

    PHPMailer有什么优点? 可运行在任何平台之上 支持SMTP验证 发送邮时指定多个收件人,抄送地址,暗送地址和回复地址:注:添加抄送.暗送仅win平台下smtp方式支持 支持多种邮件编码包括:8 ...

  9. windows 下安装 nginx + php

    1. 下载软件 需要的软件有nginx,php,mysql(如不需要可不安装) nginx.org,www.php.net上面有得下 全部解压出来 php基本不用做任何修改(下载直接解压版本的) 用c ...

  10. scrollview 滚动布局

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"    android:layou ...