当前位置:  编程技术>移动开发
本页文章导读:
    ▪WPF 获取元素相对位置的步骤        WPF 获取元素相对位置的方法 在Canvas中,我们可以为它的子元素通过附加属性Canvas.Left和Canvas.Top来设置位置,那么子元素和Canvas之间的位置关系也就很清楚了,但是我们需要更一般化的方法,.........
    ▪ Starling Feathers:Starling直属UI框架        Starling Feathers:Starling专属UI框架 来自Starling中文站 http://www.starlinglib.com/wiki/News:Starling_Feathers 目录  [隐藏]  1 Feathers类库(即原Foxhole)成为Adobe支持的UI类库 1.1 简介 1.2 实例演示 1.3 跨.........
    ▪ 提交应用到App Store遇到Missing Screenshot有关问题的解决办法       提交应用到App Store遇到Missing Screenshot问题的解决方法 今天在提交应用的时候遇到了一个新问题:二进制文件已经Archive、Validate、Distribute,Itunes Connect上却显示Missing Screenshot。经查看,在Itunes .........

[1]WPF 获取元素相对位置的步骤
    来源: 互联网  发布时间: 2014-02-18
WPF 获取元素相对位置的方法

在Canvas中,我们可以为它的子元素通过附加属性Canvas.Left和Canvas.Top来设置位置,那么子元素和Canvas之间的位置关系也就很清楚了,但是我们需要更一般化的方法,来获得某个子元素相对于桌面,某个父元素等的位置关系,那就需要引入Transform的概念了,也就是通过这个数学化的概念来达到我们想到达的目的。当然除了这个,还有计算的函数,那就是来自Visual的TransformToVisual(Visual visual)方法,在该方法的MSDN文档中有这样一个例子:

XAML代码:

 

<StackPanel Name="myStackPanel" Margin="8">
  <TextBlock Name="myTextBlock" Margin="4" Text="Hello, world" />
</StackPanel>

 

 核心代码:

 

// Return the general transform for the specified visual object.
GeneralTransform generalTransform1 = myStackPanel.TransformToVisual(myTextBlock);

// Retrieve the point value relative to the child.
Point currentPoint = generalTransform1.Transform(new Point(0, 0));

 

 

先说一下这个例子的目的是,求得myStackPanel相对于它的子元素myTextBlock的位置,我们可以猜想,若以myTextBlock的左上角为(0,0),那么算上Margin值,这个相对的位置应该是(-4,-4)。

现在看代码,首先,使用myStackPanel.TransformToVisual获得一个用于封装Transform概念的GeneralTransform对象,这是个抽象的通用类,我们可以看一下它的继承关系:

 

 

 

Object

     DispatcherObject (abstract)

            DependencyObject

                   Freezable (abstract)

                          Animatable (abstract)

                                 GeneralTransform (abstract)

                                        GeneralTransformGroup

                                 Transform (abstract)

                                       TranslateTransform

                                       ScaleTransform

                                       SkewTransform

                                       RotateTransform

                                       MatrixTransform

                                       TransformGroup

 

 

我通过断点,发现它返回的是一个MatrixTransform类型,这就好办了,因为它们的内部都含有一个Matrix属性,用来表示Visual的Transform状况,看其中的值,就是{1,0,0,1,-4,-4},其实就是如下的一个矩阵:

|1    0   0|

|0    1   0|

|-4  -4   1|

最后一列是固定的,所以省去,按行展开,就是{1,0,0,1,-4,-4}。我们知道这个3乘以3矩阵的每个元素的作用,最后一行的前两列用于表示位移,那么,用(0,0)乘以这个矩阵后得出的点是哪个点呢(自己算算就明白,其实这里就是平移产生效果),若你懒点,就直接用Transform方法,它会帮助我们得到这个结果,那就是把我们的点Point(0,0)放进去即可,得出的点就是(-4,-4)。

 


    
[2] Starling Feathers:Starling直属UI框架
    来源: 互联网  发布时间: 2014-02-18
Starling Feathers:Starling专属UI框架
来自Starling中文站 http://www.starlinglib.com/wiki/News:Starling_Feathers
目录  [隐藏] 
  • 1 Feathers类库(即原Foxhole)成为Adobe支持的UI类库
    • 1.1 简介
    • 1.2 实例演示
    • 1.3 跨平台
    • 1.4 易于皮肤定制
    • 1.5 自由和开放源码
    • 1.6 概述
    • 1.7 组件
Feathers类库(即原Foxhole)成为Adobe支持的UI类库

更新:Lee Brimelow制作了Feathers UI的视频教程。

视频教程地址:http://gotoandlearn.com/play.php?id=173

Foxhole是一个和Starling整合的UI类库,相信已经不少人开始用了,现在成为Adobe支持的类库,更给力了!

Starling中文站翻译整理

 

 

简介

Feathers是轻量级,易于定制皮肤和扩展的UI组件(适用于移动设备和桌面)。Feathers通过Starling框架,利用GPU的强大能力渲染组件,来实现更加平滑和友好的体验。

  • 源码下载:https://github.com/joshtynjala/feathers/zipball/master
  • 官方站点:http://feathersui.com/
  • 官方下载:http://feathersui.com/download/
  • API文档:http://feathersui.com/documentation/
  • 提交Bug:https://github.com/joshtynjala/feathers/issues
  • 入门教程:http://wiki.starling-framework.org/feathers/getting-started
  • 常见问答:http://wiki.starling-framework.org/feathers/faq
  • Feathers代码风格约定:http://wiki.starling-framework.org/feathers/coding-conventions
实例演示
  • Components Explorer
  • Layout Explorer
  • Tile List
  • Gallery
  • Display Object Explorer
跨平台

利用Feathers可以为iOS,Android,Windows,Mac构建强大的,基于硬件加速的用户界面。通过Feathers, Starling Framework和Adobe的技术可以为所有操作系统创建本地应用。

易于皮肤定制

游戏通常需要UI界面风格和故事情节相匹配,而用户希望得到在某个平台上相似的用户体验。所以Feathers提供了很多皮肤选项和行为,来为移动和桌面应用定制皮肤。

自由和开放源码

Feathers是基于MIT协议开源的,所以您可以随意在商业或开源项目中使用Feathers。扩展和调试可能不太容易,因为您必须读懂和修改Feathers和Starling的源码(译者注:其实代码很清晰,容易读懂)。

概述
  • 设计的时候已经考虑到了移动设备.
    • 为电话和平板设备的性能进行了优化.
    • 支持多点触摸.
    • 滚动遵循了移动设备的体验,具备弹性边缘(如果需要的话,您也可以选择传统的桌面滚动条和滚轮控制).
    • 易于扩展,适配不同的屏幕尺寸和DPI.
  • 简单但功能强大的组件体系.
    • 改变属性后,设置"失效",直到Starling的呈现阶段才会渲染(类似Flex).
    • getStyle()/setStyle()方法不通过会导致含糊的字符串来设置样式,所有的皮肤和视觉属性都有严格的类型定义.
    • 使用 as3-signals 代替事件.
    • 工厂方法和接口允许您自定义子组件. 例如,选择最适合手机,平板电脑,或PC的组件类型.
    • 易于理解,如果您用过 Adobe Flex 或 Flash Pro AS3 组件的话.
  • 所有组件都是基于Starling显示对象的并且可以更换皮肤.
    • 组件通常会根据提供的皮肤的大小调整自己的尺寸.
    • 子组件可以继承父级的皮肤,一直嵌套下去.
    • 支持从其它项目剥离的皮肤代码形成的主题.
    • 支持9宫格,3宫格,以及平铺布局.
    • 智能的图片管理.
  • 插件支持的功能.
    • 支持位图和矢量文本渲染. 也可以自定义文本渲染方式.
    • 强大的按钮导航系统和过渡动画.
    • 拖拽支持.
    • 弹出窗体(模态和非模态).
组件

Feathers包括许多不同的组件,比如按钮,滑块,拨动开关,复选框,单选按钮,列表,进度条,文本输入,标签,导航,容器,标注等等。来看看其中一些组件的几个值得注意的特点。

  • 按钮
    • 可以为每个状态定义皮肤和图标, 包括 up, hover, down, 和 disabled.
    • 额外的 toggle/selection 行为.
  • 文本输入
    • 使用操作系统的本机输入,支持选择,复制和粘贴.
  • 滚动容器
    • 可以支持任何类型内容的滚动控制.
    • 多种内置布局,还可以自定义布局.
  • 列表
    • 可滚动的列表,单项可以选中.
    • 可定制的布局方式.
    • 布局虚拟化(提高性能).
    • 可改变itemRenderer的尺寸.
    • 自定义 itemRenderers.
    • 提供一个默认的itemRenderer类,来显示文本和图标,以及和按钮相似的视图状态.
    • 一个 ListCollection 实现对数据的封装. 支持 Array, Vector, 和 XMLList.
  • 分组列表
    • 提供更强大的列表功能.
    • 提供分组显示功能.
    • 为headers, footers, 和 items指定独立的渲染器.
    • 多维的数据描述.
  • 屏幕导航
    • 使用事件或消息来驱动屏幕切换 (如游戏中的菜单).
    • 屏幕切换时的数据共享
    • 为屏幕切换指定动画.

    
[3] 提交应用到App Store遇到Missing Screenshot有关问题的解决办法
    来源: 互联网  发布时间: 2014-02-18
提交应用到App Store遇到Missing Screenshot问题的解决方法

今天在提交应用的时候遇到了一个新问题:二进制文件已经Archive、Validate、Distribute,Itunes Connect上却显示Missing Screenshot。经查看,在Itunes Connect上3.5-Inch Retina Display Screenshots中也上传了应用截图,后来,经查看iTunes Connect Developer Guide以及开发者邮件,得知问题所在。

 

iTunes Connect Developer Guide中有这么一段话:

 

If your binary indicates that your app will run on the 4-inch Retina display, you are required to upload at least one of these screenshots.

Up to four additional optional screenshots can be uploaded. All subsequent screenshots will appear in numbered order on the App Store, in the same order in which they were uploaded in iTunes Connect. Only Newsstand apps can reorder their screenshots after they have been uploaded.

For best results, do not include the iPhone status bar in your screenshots, and follow these requirements:

640 x 1096 pixels for portrait (without status bar) minimum

640 x 1136 pixels for portrait (full screen) maximum

1136 x 600 pixels for landscape (without status bar) minimum

1136 x 640 pixels for landscape (full screen) minimum

72 ppi, RGB, flattened, no transparency

High-quality JPEG, TIFF or PNG image file format. ZIP-compressed TIFF files are not acceptable.

 

邮件中有这么一段:

 

If you deliver a new app binary that takes advantage of the new screen size for iPhone 5 or iPod touch (5th generation) without screenshots in the new dimensions, the status of your app will change to Missing Screenshot. Your app will not be reviewed until you upload screenshots with the correct dimensions. You will also need to upload screenshots for any added localizations you have set up on iTunes Connect.

 

那么,iTunes Connect是如何判断是否需要上传iPhone 5的应用截图的呢?

 

The only thing that indicates whether or not your app supports the 4-inch screen is whether you have a "Default-568h@2x.png" file or not. If you haven't added that, your app won't natively support the 4-inch screen (which is fine!) and you don't need to change any other settings or provide other screenshots. 

 

如果你的应用不兼容iPhone 5的话,那么可以果断删除Default-568h@2x.png这个图片,然后重新上传即可。

如果你的应用兼容iPhone 5的话,那么Default-568h@2x.png这个图片就不能删了,有了这个图片就必须提供至少一张iPhone 5的应用截图了,否则就会出现Missing Screenshot的错误,所以在4-Inch Retina Display Screenshots中上传一下iPhone 5的应用截图即可。


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3