在做文本框的时候,我们经常碰到需要计算字符输入的长度,然后适当地做处理。这个时候不能直接了当地拿text.Length来用,原因有:

1、字符会因为fontSize的大小不同而有不同的宽度;

2、即使fontSize在你的场景里是同一的,字符也有英文字符和中文字符等的差别,它们的宽度也是相差极大的,比如字符I和字符N的宽度就很不一样,而与任何一个中文字符又是不一样的。

好在Unity也提供了这样的方法给我们使用。如下例:

public Text text;

?public int allTextWidth;

foreach(var item in input.text)

{

CharacterInfo info = new CharacterInfo();

text.font.GetCharacterInfo(item, out info, 14);//14是字体的字号,可以从text里获取。

allTextWidth += info.advance;//总的字符宽度

}

最后得到的就是总的字符宽度,以像素为单位。

比如你的文本框只允许显示100像素长度的字符,如果超过这个大小的话,则以省略号...显示,就可以拿这个值与100比较。

UGUI获取文本的字符内容像素宽度 【转】的更多相关文章

  1. jquery获取文本框的内容

    使用jquery获取文本框的内容有以下几种: 1.根据ID取值(id属性): // javascript <script type="text/javascript"> ...

  2. python 2.7.5 获取文本关键字符所在行

    #!/usr/bin/env python #-*- coding: UTF- -*- from __future__ import print_function import time,os,sys ...

  3. windows程序设计获取文本框(窗口、对话框)文本

    就是这样一个简单的界面,窗口上重绘的对话框(这种写法参考我之前博文): 需要做到的就是点击确定,获取文本框中内容. // 处理对话框消息 INT_PTR CALLBACK NewDlgProc(HWN ...

  4. JavaScript 基于HTML5 canvas 获取文本占用的像素宽度

    基于HTML5 canvas 获取文本占用的像素宽度   by:授客 QQ:1033553122 直接上代码   // 获取单行文本的像素宽度 getTextPixelWith(text, fontS ...

  5. jQuery计算文本宽度和input标签根据输入字符动态自适应宽度的实现

    jQuery计算文本宽度的原理是利用html提供的<pre>标签,向dom中动态添加<pre>标签,标签里的内容就是要测试长度的文本,获取完长度之后再删除刚才添加的<pr ...

  6. 关于MFC文本框输入内容的获取 与 设置文本框的内容

    八月要开始做界面了<( ̄︶ ̄)/,然而目前只会用MFC╮(╯▽╰)╭ 好吧,言归正传,设置好文本框后,要获取用户输入的内容,可以用: GetDlgItemText() ; 这个函数有两个参数,第 ...

  7. httprequest存储的是字符内容 而文本内容是以字节形式上传的;所以普通的取值方式无法从httprequest取到值

    httprequest存储的是字符内容 而文本内容是以字节形式上传的;所以普通的取值方式无法从httprequest取到值

  8. python开发_tkinter_获取文本框内容_给文本框添加键盘输入事件

    在之前的blog中有提到python的tkinter中的菜单操作 python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推荐 python开发_tkinter_窗口控件_自 ...

  9. java通过URL获取文本内容

    原文地址https://www.cnblogs.com/myadmin/p/7634262.html public static String readFileByUrl(String urlStr) ...

  10. js 获取浏览器显示内容的宽度和高度

      js获取浏览器显示内容的宽度和高度 CreateTime--2017年7月10日17:24:12Author:Marydon 1.获取浏览器屏幕显示d的网页宽度 /** * 得到浏览器显示的屏幕高 ...

随机推荐

  1. go iris框架文件上传下载

    在 Iris 框架中,可以使用内置的 iris 包中的 Context 对象来处理文件上传和下载.以下是一个简单的示例代码: package main import ( "github.co ...

  2. Python爬取网页上想要的数据

    1.源代码如下 from urllib.request import urlopen,Request import urllib.request import re from bs4 import B ...

  3. 2021-12-14 MobX分享

    MobX分享 文档地址: https://cn.mobx.js.org/ MobX是一种简单的.可扩展的状态管理,它通过透明的函数响应式编程使得状态管理变得简单和可扩展. React通过提供机制把应用 ...

  4. StarRC 转XRC flow

    抽取寄生参数是我们工作中经常做的事情,目前来说三家EDA 都有抽取工具,分别是StarRC, XRC,QRC,其中QRC现在有个升级版本Quantus,但是由于calibre在DRC 和LVS方面太强 ...

  5. HIVE-文字提取

    regexp_extract(filed,('aaa|bbb|ccc|ddd'),0) 从字段filed中提取含有aaa或bbb或ccc或ddd的string信息

  6. shell脚本实战笔录-在PATH中查找程序

    #!/bin/bashin_path(){ cmd=$1        ourpath=$2         result=1 #将默认的IFS(分隔符)为空格,这里先保留原本的给变量oldIFS,然 ...

  7. VUE3 API之watch与watchEffect

    watch(source,callback,options) 官方术语:侦听一个或多个响应式数据源,并在数据源变化时调用所给的回调函数. watchEffect(effect,options) 官方术 ...

  8. dart的基本使用

    1.windows上环境搭建 (1)  在dart官网上下载对应的sdk安装即可.归档 | Dart (2)  使用vscode开发,安装dart插件和Code Runner插件即可.  2.Dart ...

  9. Windows10+VS2019从源码编译 Qt5

    参考 Windows10+MSVC(VS2022)从源码编译QT5.12.11 - 知乎 (zhihu.com) qt-labs/vstools ~ qt-labs/vstools (github.c ...

  10. jenkins+stf+airtest实现移动端自动化测试平台

    背景: 公司android测试机比较多没有统一的管理: app自动化测试时获取设备的状态比较麻烦,通过STF可以轻松获取: 自动化异常场景时.可远程操控设备: 需要随时了解设备情况: 装逼 前提: 已 ...