---
title: "为您的BYOD（自带设备办公）环境，提供适用于任何移动设备的图表和图形格式"
date: "2014-12-10"
categories: 
  - "development"
tags: 
  - "charts"
  - "mobile-development"
  - "mobiletogether"
  - "software-tools"
description: 探索如何使用Altova MobileTogether的全局变量和局部变量，针对各种移动设备在BYOD（自带设备办公）环境中优化图表和图形的格式，从而提高开发效率。
---
Status: #blog

Tags:  #charts #mobile-development #mobiletogether #software-tools

Categories: [development](/blog/zh/category/development.md)
# 为您的BYOD（自带设备办公）环境，提供适用于任何移动设备的图表和图形格式

移动商务解决方案开发的一个挑战在于，需要针对所有不同类型的终端设备进行适配。每种移动操作系统都支持一系列不同的屏幕尺寸，从最小的智能手机到最大的平板电脑。而且，当您切换到其他操作系统时，所有屏幕尺寸都会再次发生变化。为了支持众多不同的移动设备，这可能会减缓面向“自带设备”（BYOD）企业的移动解决方案的开发进度。

![使用 Altova MobileTogether 软件，可以为任何移动设备创建饼状图](https://lh5.ggpht.com/-7Xh6qdjc2N0/VIc8xfEsPgI/AAAAAAAAB30/DNEO_7zmRMg/Opening%252520Chart%252520Capture%25255B2%25255D.png?imgmax=800 "Pie chart for any mobile device created using Altova MobileTogether")

Altova MobileTogether 是一款 [跨平台移动应用开发框架](https://www.altova.com/zh/mobiletogether.html)，它允许您只需开发一次，即可在多个平台上运行：

- Android
- iOS
- Windows 8
- Windows Phone 8 系统
- 基于HTML5的浏览器客户端

此外，MobileTogether 支持所有操作系统上可用的屏幕尺寸，并提供一些特殊功能，旨在提高开发人员的工作效率。

<!--more-->

**全局变量来救援**

MobileTogether Designer 提供了包含超过三十多个全局变量和局部变量的库，您可以在移动解决方案的设计过程中，根据需要使用这些变量。全局变量是静态的，这意味着它们在解决方案执行过程中不会改变。局部变量是动态的，并且可能只在特定情况下可用。

许多全局变量在运行时存储着关于执行移动解决方案的设备的数值

![Altova MobileTogether 中的全局变量](https://lh4.ggpht.com/-vNpe-nYOYfI/VIc8xs2WRLI/AAAAAAAAB34/AMbi82MP8SM/Global%252520Variables%252520Crop%25255B2%25255D.png?imgmax=800 "Global Variables in Altova MobileTogether")

您可以在 MobileTogether 设计器中的属性窗口中直接使用全局变量，或者您可以创建包含全局变量的函数，并根据结果定义相应的操作。

如果您找不到设计中所需的特定变量，您甚至可以自定义用户变量。当然，除了数据源中可以存储值的元素之外，所有这些变量都可供使用，并且您也可以将它们应用于函数中。

**设置变量图表大小**

如果您在属性窗口中将全局变量 `$MT_DeviceWidth` 指定为图表创建的宽度，那么在运行时，您的图表将自动适应任何以纵向模式显示的设备的宽度，无论其移动操作系统或屏幕尺寸如何。

您甚至不需要手动设置图表的高度。图表的高度会自动生成，这样您就可以在不滚动屏幕的情况下完整地查看整个图表。

您还可以使用具有设备依赖性可见性的全局变量和局部变量，通过上下文菜单中的选项来定义特定条件下的行为，例如纵向和横向屏幕方向。Altova MobileTogether 演示服务器上的“小部件销售数据”解决方案展示了如何根据设备方向以不同的方式将局部变量应用于图表数据。例如，在“按区域销售”页面上，如果设备处于纵向模式，则会显示折线图；如果设备处于横向模式，则会显示三维柱状图。

![在MobileTogether中设计的3D柱状图，如图所示，在Android手机上显示的效果](https://lh4.ggpht.com/-7ijQLURgs5c/VIc8xypd59I/AAAAAAAAB4A/hgwqmhCvwFY/Android%252520shot%25255B4%25255D.png?imgmax=800 "A 3-D Bar Graph Designed in MobileTogether as Viewed on an Android Phone")

“小部件销售数据”解决方案已包含在 MobileTogether Designer 的示例文件中，您可以查看这些示例，了解其构建方式。

由 `$MT_DeviceWidth` 定义的图表在设备旋转时尺寸保持不变，并且没有有效地利用设备的可用空间，就像下面的柱状图示例所示。

![水平条形图示例 1](https://lh6.ggpht.com/-Q-fzzxWIwwc/VIc8yUVZ97I/AAAAAAAAB4E/A8do4TBfJyE/photo1framed%25255B23%25255D.png?imgmax=800 "Horizontal Bar Graph Example 1")

一个更好的选择是全局变量 `$MT_CanvasX`。当设备旋转时，`$MT_CanvasX` 的值会发生变化，并且图表会自动重新绘制。如果我们在属性窗口中使用 `$MT_CanvasX` 来定义图表的宽度，那么图表会更加优雅地重新绘制，以适应横向屏幕显示，并且在水平轴上会有更多的空间用于显示图例文本。

![横向条形图，由 MobileTogether 自动调整大小以适应屏幕](https://lh6.ggpht.com/-8-LS-SPDvAU/VIc8yyI_eWI/AAAAAAAAB4M/XfeVo6k1nlQ/photo2framed%25255B3%25255D.png?imgmax=800 "Horizontal Bar Graph Automatically Sized to Fit Screen by MobileTogether")

**您可以** [观看视频演示](https://www.altova.com/zh/mobiletogether/demos.html) **您可以在Altova网站上的MobileTogether Designer中找到图表创建的相关教程，或者：** [免费试用版下载](https://www.altova.com/zh/download/mobiletogether-designer.html) **包含超过30个示例解决方案，让您立即开始构建自己的项目！**
