上一章节介绍了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的实际使用

Garmin APP开发之布局的更多相关文章

  1. Garmin APP开发之入门

    Garmin开发-入门 先附上几个已经开发完成的app日历 up down 翻月 start 回到当前月(就差农历了) 秒表和定时器一体app界面比较简单,但是实用,长按菜单键可以切换秒表和定时器,有 ...

  2. 教育行业app开发新契机,在线教育要从B端出发

    近几年移动互联网教育风生水起,在运营模式上的开拓也各不相同,随着移动互联网进入下半场,好未来.新东方.猿题库.学霸君等,都在加速三四线地区布局,以及教育行业app开发和升级. 在移动互联网下半场,用户 ...

  3. 我的长大app开发教程第一弹:Fragment布局

    在接下来的一段时间里我会发布一个相对连续的Android教程,这个教程会讲述我是如何从零开始开发“我的长大”这个Android应用. 在开始之前,我先来介绍一下“我的长大”:这是一个校园社交app,准 ...

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

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

  5. 一个小白App开发需要了解的基本技术

    本文针对小白用户对App做一个简单的介绍,首先要了解App都有哪些类型,不同的类型适用于哪些需求,用户可以根据自己的需求选择不同的App开发. 一 App有哪些形式 WebApp:简单来说,Web A ...

  6. 苹果版App开发心得

    这几个月中做的工作包括网站开发.安卓App开发和苹果App开发,前两者用的语言都是我熟悉的java,故苹果知识的学习,较安卓知识的学习,多出「语言基础」一块,其他方面差不多. 之前发过安卓那篇,如感兴 ...

  7. 移动web开发和移动app开发的区分

    1.移动web开发 这部分跟web前端开发差别不大,使用的技术都是html+css+js.区别为手机浏览器是webkit的天下,pc端是IE的天 下.手机网页可以理解成pc网页的缩小版加一些触摸特性. ...

  8. App开发如何利用Fidder,在api接口还没有实现的情况下模拟数据,继续开发

    相信app开发很多时候,都是等后台出接口,拿到数据调试错误.殊不知,我们完全可以不用等,只要有约定好的接口定义文档,借助工具就能做到,自己模拟数据返回~      下面主要是在项目组开发过程中,使用F ...

  9. 成都app开发:架构一个App需要学会哪些技术呢?

    成都亿合科技小编为您分享: 随着APP应用的流行,越来越多的人想自己学习怎么开发APP应用,那架构一个APP需要学些什么技术呢?首先要了解App都有哪些类型,不同的类型适用于哪些需求,用户可以根据自己 ...

随机推荐

  1. Mysql MMM 高可用

    一.Mysql MMM 高可用概况: mmm_mond  负责所有的监控工作的监控守护进程,决定节点的移除等: mmm_agentd  运行在mysql服务器上的代理守护进程,通过简单远程服务集提供给 ...

  2. Jmeter-调整占用内存解决内存溢出

    启动jmeter.从启动jmeter的输出就可以看到,Modify HEAP  “” in the  jmeter batch file -Xmx512m  -Xms512m -Xms是初始内存,-X ...

  3. App Distribution Guide--(三)---Configuring Your Xcode Project for Distribution

    Configuring Your Xcode Project for Distribution You can edit your project settings anytime, but some ...

  4. A Beginner's Guide to HTTP and REST

    http://code.tutsplus.com/tutorials/a-beginners-guide-to-http-and-rest--net-16340 Hypertext Transfer ...

  5. ACM-ICPC2018徐州网络赛 Features Track(二维map+01滚动)

    Features Track 31.32% 1000ms 262144K   Morgana is learning computer vision, and he likes cats, too. ...

  6. 关于 == 和 equals() 的区别

    对于正在学习java的,以及入行不久的小伙伴们,在面试中经常会被面试官问到 "  == 和 equals() 的区别 ?"的问题,你是否回答好了呢? 示例一: //两个基本类型数据 ...

  7. 【微信小程序】开发实战 之 「数据缓存API」解析

    每个小程序都可以有自己的本地缓存,可以通过 数据缓存的API 实现对本地缓存进行 设置.获取和清理.本地缓存最大为10M.localStorage是永久存储的,但我们不建议将关键信息都放在localS ...

  8. 关于 Overtrue 的拼音库 overtrue/pinyin 为何 travis 为 error

    什么是ThinkSNS ? ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+(简称TS+).Thin ...

  9. Etherscan API 中文文档-交易以及检查交易收据状态

    本文原文链接 点击这里获取Etherscan API 中文文档(完整版) 完整内容排版更好,推荐读者前往阅读. 交易(Transaction) 交易相关的 API,接口的参数说明请参考Ethersca ...

  10. 全功能Python测试框架:pytest

    python通用测试框架大多数人用的是unittest+HTMLTestRunner,这段时间看到了pytest文档,发现这个框架和丰富的plugins很好用,所以来学习下pytest.   imag ...