[cb]UIGrid+UIStretch的自适应

简介:



自适应需求

如下图所示:一个Grid下面有六个Button,它们需要在不同的分辨下拉伸适应(Horizontal)宽度,以保证填充满底部

image

要点分析

首先有这两个要点

1、UIGrid中的Cell Width是根据屏幕比例动态调整的

2、NGUI的UICamera有一个onScreenResize 委托

自适应方法

我的布局

1、首先Grid下有六个子Button,Grid的参数设置如下:Cell Width是根据我的图片的大小,这里设置个大概值就好,因为不同分辨率,我们需要动态调整这个值

image image

2、每个子Child即Button都绑定上UIStretch脚本,并把Style设置为Horizontal(水平),其中的Relative Size=1/6 ~=0.16667

image

测试代码

3、绑定GridTest脚本在Grid上:

using UnityEngine;
using System.Collections;

public class GridTest : CUIBase
{
    UIGrid btnsGrid;
    // Use this for initialization
    void Start()
    {
        btnsGrid = (UIGrid)GetControl<UIGrid>("BtnsGrid");
        UIWidget _widget = GetControl<UIWidget>("BtnsGrid/Btn01HomeBtn");
        btnsGrid.cellWidth = _widget.width;
        btnsGrid.Reposition();

        UICamera.onScreenResize += ScreenSizeChanged;
    }

    // Update is called once per frame
    void Update()
    {

    }

    void ScreenSizeChanged()
    {
        UIWidget _widget = GetControl<UIWidget>("BtnsGrid/Btn01HomeBtn");
        btnsGrid.cellWidth = _widget.width;
        btnsGrid.Reposition();//Grid重新进行排序    
        CBase.Log("size change");
    }
}

效果预览

4、点击Play,修改屏幕分辨率,我们可以看到在不同的分辨下,这六个Button都可以完全填充底部区域。

image image


本文转自赵青青博客园博客,原文链接:http://www.cnblogs.com/zhaoqingqing/p/3891603.html,如需转载请自行联系原作者

相关文章
|
7月前
|
存储 关系型数据库 计算机视觉
高精度恒流/恒压(CC/CV)原边反馈功率转换器
一、产品概述 PR6214是一款应用于小功率AC/DC充电器和电源适配器的高性能离线式功率开关转换器。PR6214采用PFM工作模式,使用原边反馈架构,无需次级反馈电路,因此省去了光耦和431,应用电路简单,降低了系统的成本和体积,提高了可靠性。芯片内置了高达±5%精度的恒流/恒压(CC/CV)控制电路,输出曲线如图所示。 PR6214 在恒流控制(CC)时,恒流值和输出功率可以通过 CS 引脚的限流电阻 RS 设定,内置电感补偿电路保证输出的电流具有较高的恒流精度。在恒压控制(CV)时,内置输出采样电路和线损补偿电路既保证了芯片输出电压的高精度又保证了较好的负载调整率,同时,内置的准谐振
|
前端开发 芯片
【芯片前端】基于DC综合的逻辑深度与cell count汇总:乘法器
【芯片前端】基于DC综合的逻辑深度与cell count汇总:乘法器
206 0
|
7月前
|
算法 安全 测试技术
移相全桥DC-DC变换器快速设计与开发
本篇将基于PPEC-86CA3A移相全桥数字电源控制芯片以及PPEC Workbench开发软件带领大家进行实际移相全桥DC-DC变换器的设计与开发 。 一、移相全桥变换器设计与开发 1、外围电路设计与硬件平台搭建 1)外围电路设计 这里给出了PPEC-86CA3A移相全桥数字电源控制芯片的采样、PWM驱动以及硬件保护等外围电路设计图,大家可参考下图进行外围电路搭建与连接。 2)硬件平台搭建 大家可根据前文介绍的参数设计方法进行电源拓扑的器件选型,再按照外围电路设计图搭建PWM驱动电路、采样电路以及保护电路并与电源控制核心进行连接。移相全桥DC-DC变换器的硬件测试平台如图。 2
165 2
|
7月前
|
机器学习/深度学习 算法
减小PAPR——PTS技术
减小PAPR——PTS技术
138 0
DC电源模块不同的尺寸影响实际应用场景
DC电源模块是一种将交流电转化为直流电的电子设备,它广泛应用于电子产品、仪器仪表等领域。DC电源模块的尺寸和输出功率是选择合适产品的重要因素之一。尺寸大小可以适应不同的应用场景,而输出功率则决定了设备需要的电能量大小。本文将对DC电源模块尺寸的影响进行探讨。
DC电源模块不同的尺寸影响实际应用场景
|
前端开发 芯片
【芯片前端】基于DC综合的逻辑深度与cell count汇总:加法器
【芯片前端】基于DC综合的逻辑深度与cell count汇总:加法器
161 0
KUC711AE101 3BHB004661R0101 整体速度取决于开关的速度
KUC711AE101 3BHB004661R0101 整体速度取决于开关的速度
100 0
KUC711AE101 3BHB004661R0101 整体速度取决于开关的速度
【BF算法】
BF 算法 BF 算法精讲 在学习到字符串的匹配问题时,了解到了BF算法和KMP算法。 对比这两个算法,先了解BF算法; 字符串匹配问题,比如说:有一个主串 “abbbcdef” , 子串 “bbc”,该问题就是在主串中查找子串。 肉眼可见,主串中的确存在子串bbc,返回值是子串在主串中第一次出现的首位置下标,也就是返回2. BF
|
芯片
ABB 5SXE04-0150/GVC707AE01 能力取决于应用中多线程的使用。
ABB 5SXE04-0150/GVC707AE01 能力取决于应用中多线程的使用。
ABB 5SXE04-0150/GVC707AE01 能力取决于应用中多线程的使用。
|
芯片
ADC模数转换器(内含:1.实物图+2.ADC简介+3.ADC框图+4.ADC基本结构图+5.输入通道+6.转换模式+7.触发控制+8.数据对齐+9.硬件电路)
ADC模数转换器(内含:1.实物图+2.ADC简介+3.ADC框图+4.ADC基本结构图+5.输入通道+6.转换模式+7.触发控制+8.数据对齐+9.硬件电路)
566 0
ADC模数转换器(内含:1.实物图+2.ADC简介+3.ADC框图+4.ADC基本结构图+5.输入通道+6.转换模式+7.触发控制+8.数据对齐+9.硬件电路)