上一章节介绍了garmin app开发的入门,包括garmin-sdk,开发工具的安装部署,文章结尾我们新建了我们的第一个app程序
Garmin开发-入门: http://tieba.baidu.com/p/4325635755?pid=83103366105&cid=0#83103366105
这一章我们主要讲fenix3 的布局
文件层次,内容介绍

先来看看整个项目的架构,层次

bin:编译后的文件,编译后直接拷入garmin/app就可以使用了,具体后面讲
resources:资源文件
drawables:预绘制图像文件(也可以叫局部布局)可以搭配layout文件使用

layouts:布局文件,主要放一些初始化布局资源,文字,图片等等
strings:字符串资源文件,可以预设一些字符串,可以在用的时候通过id获取
在resources文件下还可以建立一些自己的文件,比如fonts,images等资源文件

source:编译文件,通常说的逻辑主体,以.mc文件后缀结尾
manifest.xml:配置文件可以,看成.net的config文件

布局文件:layout.xml

讲布局文件之前先将几个知识点:
查看api文档方法:在我们下载的sdk的doc下面,或者直接点击

1:颜色和字体都在这个模块下

对应相应的字体和颜色常量
回来讲layout.xml中id为资源中的唯一id,背景色为布局的背景色
drawabel相当于调用了个id为background 的外部的画布一样,这个画布资源放在drawables文件夹下,暂时取名为background.xml

label为文字
属性包括字体,颜色,坐标,文字信息,对其方式

我们再看看上面说的background.xml怎么定义的,如图

drawable-list:画布列表,id唯一标示,因为是呈现的是局部画布,所以有坐标x,y,foreground主体颜色
shape:形状
type为形状类型
circle圆,radius半径,
polygon多边形,pot(多边形)ions为二位数组(一剂)

拥有这些就可以造出我们喜欢的形状

再来看字符串资源文件strings.xml

这个很简单,id对应相应的字符串,取值的时候用@strings.id 名 就可以了

font.xml 字体文件
<font id="font_id" filename="/path" />
依然获取字体时@fonts.id名

bitmaps.xml 图像资源


取值用@Drawables.id名

当编译器编译的时候都讲整理到一个文件,所以看自己的喜好排版相应的文件都可以

再看配置文件manifest.xml

这个文件主要是已type app类型(watchface,app,datafield,widget)
设备类型: <iq:products>
访问模块权限<iq:permissions>

这些可以用工具配置,项目右键>属性

部分模块需要配置权限在能访问
当然不是每个模块都能被所有应用访问的,具体权限可以看官方文档

布局

以上介绍了各个文件之间的关系和用法,下面来看一下具体的布局界面

Fenix的桌面布局把他看成一个坐标轴图

fenix3的分辨率为218*218,Fenix中心为坐标(109,109),把圆圈看成是fenix3可视区域,坐标关系如上图,很容易懂吧
表盘中心为x=109,y=109,其他各个点的坐标一目了然了

看看具体的效果,中心实心圆


无规则多边形


拥有这些就可以做出自己想要的效果了,比如五角心,三角形椭圆,指针等等,除了在资源文件里布局画出这些图案外,还可以在逻辑程序里也就是.mc文件里用dc画,将更加灵活方便.

布局就为大家讲到这里,当然还有很多二米讲到的细节问题,这只有个大概,关于细节问题不懂的,可以一起讨论

下一篇讲解逻辑程序和api的实际使用

转载于:https://www.cnblogs.com/lebronking/p/5283944.html

Garmin APP开发之布局相关推荐

  1. Delphi D10.1 移动开发中APP界面基本布局(一)

    Delphi 目前在移动应用开发上已越来越成熟,其高效.简洁的开发更让人喜欢. #说明 案例演示使用Delphi控件完成界面基本布局,其中包括TLayout.TVertScrollBox. TGrid ...

  2. 安卓app开发-05-Android xml布局详细介绍

    安卓app开发-05-Android xml布局详细介绍 虽然说有 墨刀,墨客 这些图形化开发工具来做 Android 的界面设计,但是我们还是离不开要去学习做安卓原生app,学习 xml 布局还是必 ...

  3. Android APP开发

    Android APP开发 Android 是基于Linux平台的.开源的.智能手机操作系统.Android APP开发现在使用比较广泛的程序语言是Java,Java是安卓APP开发的基础,我们在上学 ...

  4. app开发学习需要经历哪些流程

    app开发学习需要经历哪些流程?如何零基础入门app开发?以下是知乎热心开发者的经验总结,对学习app开发有很好的参考意义 1.如果没有编程基础的,学习基础知识的过程肯定是必须的. 2.有了一些基础之 ...

  5. 安卓app开发工具_怎么开发app软件需要多少钱?主流app开发工具盘点

    现在智能手机的快速普及让手机app在生活中越来越重要,很多企业及创业者也意识到了app的重要性,但是怎么开发app软件?有哪些主流app开发工具呢?这里就为大家分享一下如何快速开发app软件. 一.编 ...

  6. 零基础学习鸿蒙开发,零基础学习鸿蒙App开发 (第一天)

    最近发几条质疑华鸿蒙系统的微头条,受了很多网友的嘲笑,我准备零基础自学App开发,我自己是运维,主要工作是维护Linux和Windows 服务器,同时兼桌面运维和网络. 废话不说,这是今天下午的成果. ...

  7. vc6开发一个抓包软件_开发一个软件多少钱?传统app开发与0代码app制作方法对比...

    开发一个软件多少钱?app开发难吗?app制作需要哪些流程? app开发很难:按照传统的开发方式需要最少5名以上的技术人员,团队配合花费3个月左右的时间才能搞定,成本20万以上. app开发也很简单: ...

  8. 【万里征程——Windows App开发】应用栏

    基本的用法我们在 [万里征程--Windows App开发]页面布局和基本导航中已经讲过了,这里继续补充关于应用栏的更多用法. Icon 在之前的学习中,我们知道Icon属性中有很多很多系统预定义,但 ...

  9. 开发步骤_直播软件开发直播APP开发具体步骤

    时间直播软件开发-直播APP开发具体步骤 一款APP从最开始的念头变为最后商品,必须资金投入很多的人工成本,在新项目进行的前期,针对要求的沟通交流也十分关键,要求文档越详尽.越确立,能够让最后的商品更 ...

  10. Android APP开发需求文档范本

    Android  APP开发需求文档范本 软件需求文档格式的标准写法 1.引言 1.1 编写目的 • 阐明开发本软件的目的: 1.2 项目背景 • 标识待开发软件产品的名称.代码: • 列出本项目的任 ...

最新文章

  1. Python的IDE:利用MyEclipse2017软件的PyDev插件实现Python编程
  2. 路由器的×××流量过滤
  3. Android 设置Activity样式 透明度
  4. JavaScript中数组slice和splice的对比小结
  5. java - 判断任意一天是这年的第几天
  6. apache mediawiki 安装_MediaWiki初探:安装及使用入门
  7. intel simd 资料
  8. [渝粤教育] 四川农业大学 农业气象学 参考 资料
  9. C++ --对象和类
  10. 黑苹果 服务器系统安装,黑苹果原版安装从零开始之 :MBR转GPT和新建EFI分区详细教程 _ 黑苹果乐园...
  11. Office 2007 默认打开双页显示变单页显示
  12. 到了这个点不建议“割肉”
  13. 如何给客户做产品培训
  14. text生成pdf之ctexwineditmiktexgbk2uni的安装使用方法
  15. 站队(使用插入排序完成)——————来自MC老玩家的怒吼
  16. java中stringBuilder的用法
  17. wnmp环境 php7,WNMP 开发环境搭建
  18. redmine邮箱配置
  19. 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息
  20. 厦门大学437社会工作实务考研参考书目

热门文章

  1. matlab怎么对图片mesh,MATLAB提供了mesh函数和surf函数来绘制三维曲面图。
  2. 用unity协程写的发牌程序
  3. 如何理解和使用Java package包
  4. linux 快捷键回复禁用,Linux 禁用Ctrl+Alt+Delete重启服务器操作
  5. JavaScript之函数实例属性和类属性
  6. Spring源码之bean的加载(三)从bean中获取对象
  7. 【渝粤教育】国家开放大学2018年春季 3722-21T燃气输配工程 参考试题
  8. Baxter实战 (一)ubuntu14.04安装ROS-Indigo
  9. 三个 CSS 预处理器(框架):Sass、LESS 和 Stylus
  10. jQuery Ajax 前端和后端数据交互的问题