About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Mar

    10

    <!--spark 版本的 DateTimeFormatter 的毫秒格式有bug,这个SSS并不会起作用--> 
    <s:DateTimeFormatter id="df" dateTimePattern="yyyy年MM月dd日kk时mm分ss秒SSS"/> 

    <!--如果使用mx 版本的 DateFormatter 的毫秒格式正格--> 
    <mx:DateFormatter id="df" formatString="YYYY年MM月DD日JJ时NN分SS秒QQQ"/>

    这个 DateTimeFormatter Bug 在 2014 年时就提交在 Adobe 社区,但过去了五年时间还是没有被修正。而引发这个 DateTimeFormatter Bug 的是 AS3 运行时环境产生的,并不是 AS代码问题。

    如果一定要使用 Spark 版本格式设置,需要使用类似 new Date().milliseconds 这样的方式,手动将毫秒添加到末尾。

    Mar

    9

    个人不喜欢渐隐渐现的效果。在以前纯 MX 开发时并不会有这样的问题产生,而在 Spark 组件或 Spark 与 MX 混合开发时就会有Bug产生, modalTransparencyDuration 直接设置为0,这个模糊效果的设置并不会起作用,需要设置一个极小值,比如0.01才会起作用。

    modalTransparencyBlur:3;
    modalTransparencyDuration:0;//这个是bug,上面的Blur模糊设置并不会起作用
    modalTransparencyDuration:0.01;//OK

    Feb

    17

    AIR SDK 22 开始,在对 AIR 桌面应用程序开发时允许加入 requestedDisplayResolution 标签,用以高清缩放显示文字。但发现一个bug,无论是在 Win10 或 MAC 系统中(一般 Win 10 小尺寸的高分屏2K会以125%或150%显示,或 Retina 屏的 MAC 电脑中)都存在,包括最新的 AIR SDK 32 版本也试了一样的结果,凡是 stage 属性的 contentsScaleFactor 如果不为1,stage 对象产生缩放效果后,虽然其它对象都是正常的,但 TextField 是个特例,它只是看起来像按 125%或 150%缩放的,但实际它并不是,它同时产生了字体大小的变化、字间距、行间距等变化,按本人的理解这种变化结果是字符最终显示以像素为单位的,所以会被四舍五入,不像矢量或位图对象宽高都可以使用浮点数。

    一般情况下使用并不会有问题,但如果此后对TextField 调用 Bitmap 的 draw() 方法(或对某个包含 TextField 对象的显示对象调用位图的 draw() 方法),产生的位图并不是与 contentsScaleFactor 缩放后的显示结果相同的,而是与 contentsScaleFactor 属于为 1 时的结果相同。当字数越多、行数越多的时候,这种差异会越明显(因为每一行的行间距、字间距等都被四舍五入)。

    能想到的方法就是使用 TLFTextField 代替 TextField ,但觉的 TLFTextField 问题也不少,比如当侦听器侦听 change 事件的时候,输入一个字符,会产生两次 change 事件。我囧!

    还有现在的 TLF 文本版本比较多,建义找个最新版本吧。查看了 Apache Flex SDK 帮助手册有 TextLayoutVersion.VERSION_3_0 版本,比现在官方的 VERSION_2_0 还要新。我在使用官方的 VERSION_2_0 又发现了Bug,如果编译器的 -swf-version 设为 23-25 正常,如果大于 25 当输入的文字超过两行时有时候会让前面的文字消失(有时需要按回车才能让它重新显示)。我试了将 SDK 换成 Apache Flex SDK 的 VERSION_3_0  最新版本,将编译器的 -swf-version 设为最新的 43 版本编译出来后的结果是正确的。

    不过使用 TLFTextField 与 TextField 有一个样式功能上缺陷,如果通过 TextFormat 设置样式时,bullet 属性是无效的。我囧囧囧!

    相关资料:《处理大小和缩放对象》中间有一段文字在加粗“注:”字后面有介绍。

    Oct

    11

    # 在cmd中输入diskpart命令,进入到diskpart环境
    C:\> diskpart

    #先列出磁盘列表,看我们要处理的磁盘号是多少
    DISKPART > list DISK

    # 选择移动磁盘
    DISKPART > select DISK num(千万不要选错,因为后面的删除操作是不会有任何提示的)

    # 确认好磁盘后,输入clean命令清理磁盘
    DISKPART > clean

    DISKPART 成功清除了磁盘。

    Oct

    11

    建立一个*.bat 文件,比如:
     
    "C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" -T ws start "G:\VM\Windows Server 2003\Windows Server 2003.vmx"
    exit
     
    vmrun.exe 是在 VMware Workstation 安装目录下面的一个工具类程序,Windows Server 2003.vmx 是虚拟机配置文件所在目录。虚拟机和配置文件默认情况下路径中带有空格,所以需要将路径用引号引起来。

    Jul

    5

    MAC 中的 svnX 客户端连接 Windows 服务器中的 VisualSVN Server 报错:Server certificate verification failed: issuer is not trusted;

    解决方法

    打开 MAC 终端程序,然后输入:

    svn list https://192.168.10.102/svn/test

    按提示,先输入对应的登录 Windows 服务器的权限账号的密码,然后再输入 VisualSVN Server 对应的权限账号与密码。

    (R)eject, accept (t)emporarily or accept (p)ermanently? p

    选择 p 永久性记住。然后再刷新 svnX 连接成功。

    Jun

    11

    在线快速生成 iOS、Android 应用 app 图标,Assets.car、ICON ,含手机应用 ICON 模板和全部尺寸,支持 iOS 全部版本包括 iOS11 和 android 各个版本。自动生成IOS 11要求的 ICON 文件 Assets.car 。
     
    安卓图标使用:把生成的 Android 目录下的图标复制到 Android 项目中。
     
    iOS图标使用:把其他图标复制到项目中并修改配置,把生成的 Assets.car 复制到 iOS 项目根目录下 ,配置 Info.plist 中 CFBundleIconName 值为 AppIcon
    <key>CFBundleIconName</key>
    <string>AppIcon</string>

    在线地址:http://applicationloader.net/appuploader/icontool.php

    Jun

    1

    所有批处理命令需要先右键菜单,然后选择管理员权限运行。

    中文相关:先到官方下载语言包 lp.cab,下载地址点“这里”。然后将这个 lp.cab 语言包与汉化的批处理命令放在相同的英文路径文件目录下,管理员权限运行。结束后需重启就可以到控制面板区域与语言设置了。

    中文包安装批处理下载: 201806011339244536.zip

    备注:如果按以上操作后,在控制面板的键盘与语言没有出现中英文可选菜单,继续以管理员的权限运行 CMD:

    然后先输入:bcdedit /set {current} locale zh-cn

    然后再输入:bcdboot %WinDir% /l zh-cn

    然后再重启系统,进入了控制面板区域与语言设置。

    激活相关: en_windows_thin_pc_x86_active_cmd.zip

    May

    28

    这个情况不是在所有 Windows 10 系统版本中都有,发现有些版本中才有(不知道什么引起的,可能Bug吧?)。

    遇到的现象:自定义的文件或快捷方式放在显示器“桌面”不同的位置,如有些在左上角,有些在右上角,有些在中间或右下角。如果使用的是系统默认125%缩放推荐置没有发现问题,但在这种推荐值下有许多旧软件不兼容,会出现模糊的情况。为了兼容旧软件,可以在桌面上点击“鼠标右键——显示设置——更改文本、应用和其他项目的大小:125%”这个值改为100%,然后将桌面图标设为中等大小后,如果重启或注销后重新登录,桌面图标就会变的混乱,所有图标会全部都会按从左上角开始排列(网上搜索结果发现别人有反应如果关闭显示器电源,再打开显示器也是一样的情况)。

    我试了这跟用DP接口或HDMI接口无关,跟驱动版本也无关。看到有人反应DP线不正常,换成HDMI线后正常,我也试了,换成HDMI线是因为显示器的信号源改了,变成了系统默认的全局125%,也就是一开始“显示设置”中的推荐值,仍然与旧软件不兼容的。

    我的解决方法:将显示器设置从125%改成100%这一步不变,然后继续操作“鼠标右键——显示设置——高级显示设置——文本和其他项目大小调整的高级选项——设置自定义缩放级别”,它括号中写的是不建议,别管它,点击后会单独出来一个对话框设置成为100%,点击确定后会注销重登录或重启。此时无论桌面上的图标不管怎么设置不会再变乱了,但这时依旧是100%的缩放,桌面上的字会变的很小,看着很累。重复相同的步骤“鼠标右键——显示设置——高级显示设置——文本和其他项目大小调整的高级选项——设置自定义缩放级别”,在弹出的对话框中再改到125%,点击确定后注销重登录或重启,会发现桌面上的图标不会再因为注销或重启变混乱了。

    我认为它是一个Bug,同样是125%,如果没有“125%——100%——125%”这个值变化过程,按默认的125%点了确定,它同样会要求用户注销,但是会产生混乱,有了这个先到100%再改到125%值变化过程,它才变的正常。

    此时,新软件的文字与图标都会按全局性的125%设置显示,旧软件可以在单个的设置(属于中有兼容性,设置“高 DPI 设置时禁用显示缩放”就可以)为100%显示,桌面图标也不再因为注销或重启变成默认的从左上角(混乱)开始了。一切正常了。

    Jun

    24

    基本描述

    2K、4K 等高分辨率屏幕(也被称为“高分屏”)越来越普及,当小尺寸的高分屏出现时就需要用到缩放,一些 Adobe AIR 应用在高分屏中缩放后变模糊(不仅是旧有的 Adobe AIR 应用程序,好多原有的应用程序都出现了这种问题)。

    如:https://tracker.adobe.com/#/view/AIR-3975136

    解决方法

    升级 Adobe AIR SDK 到 22.0 以上的版本,并在应用的 -app.xml 描述文件的 initialWindow 标签内新增一个子标签:<requestedDisplayResolution>high</requestedDisplayResolution>(与 iPhone 设置 Retina 屏那个标签一样)。

    https://helpx.adobe.com/cn/flash-player/release-note/fp_22_air_22_release_notes.html

    此时 Stage.contentScaleFactor 属性就能正确反应缩放系数的值了。