上一章节介绍了garmin app开发的入门,包括garmin-sdk,开发工具的安装部署,文章结尾我们新建了我们的第一个app程序
Garmin开发-入门: http://tieba.baidu.com/p/4325635755?pid=83103366105&cid=0#83103366105
这一章我们主要讲fenix3 的布局
文件层次,内容介绍
先来看看整个项目的架构,层次
![](http://imgsrc.baidu.com/forum/w%3D580/sign=b2796a6e69061d957d4637304bf50a5d/532a7f63f6246b60174ba122ecf81a4c500fa2c6.jpg)
bin:编译后的文件,编译后直接拷入garmin/app就可以使用了,具体后面讲
resources:资源文件
drawables:预绘制图像文件(也可以叫局部布局)可以搭配layout文件使用
layouts:布局文件,主要放一些初始化布局资源,文字,图片等等
strings:字符串资源文件,可以预设一些字符串,可以在用的时候通过id获取
在resources文件下还可以建立一些自己的文件,比如fonts,images等资源文件
source:编译文件,通常说的逻辑主体,以.mc文件后缀结尾
manifest.xml:配置文件可以,看成.net的config文件
布局文件:layout.xml
![](http://imgsrc.baidu.com/forum/w%3D580/sign=507048601a950a7b75354ecc3ad0625c/8640e2246b600c339b3ccd9e1d4c510fd8f9a1c6.jpg)
讲布局文件之前先将几个知识点:
查看api文档方法:在我们下载的sdk的doc下面,或者直接点击
![](http://imgsrc.baidu.com/forum/w%3D580/sign=737e3bf30d7b02080cc93fe952d8f25f/1b077f600c338744f6803c2a560fd9f9d62aa0c6.jpg)
1:颜色和字体都在这个模块下
![](http://imgsrc.baidu.com/forum/w%3D580/sign=03ed2c1d05087bf47dec57e1c2d2575e/864318338744ebf804347769def9d72a6159a7c6.jpg)
对应相应的字体和颜色常量
回来讲layout.xml中id为资源中的唯一id,背景色为布局的背景色
drawabel相当于调用了个id为background 的外部的画布一样,这个画布资源放在drawables文件夹下,暂时取名为background.xml
label为文字
属性包括字体,颜色,坐标,文字信息,对其方式
我们再看看上面说的background.xml怎么定义的,如图
![](http://imgsrc.baidu.com/forum/w%3D580/sign=1503246e7cf40ad115e4c7eb672d1151/e1109344ebf81a4c4e77ff9fd02a6059242da6c6.jpg)
drawable-list:画布列表,id唯一标示,因为是呈现的是局部画布,所以有坐标x,y,foreground主体颜色
shape:形状
type为形状类型
circle圆,radius半径,
polygon多边形,pot(多边形)ions为二位数组(一剂)
拥有这些就可以造出我们喜欢的形状
再来看字符串资源文件strings.xml
![](http://imgsrc.baidu.com/forum/w%3D580/sign=22705d920dd162d985ee621421dea950/6a67fff81a4c510ff981f14c6759252dd52aa5c6.jpg)
这个很简单,id对应相应的字符串,取值的时候用@strings.id 名 就可以了
font.xml 字体文件
<font id="font_id" filename="/path" />
依然获取字体时@fonts.id名
bitmaps.xml 图像资源
![](http://imgsrc.baidu.com/forum/w%3D580/sign=5a8c2cb765d9f2d3201124e799ed8a53/06db0e4c510fd9f9f652463f222dd42a2934a4c6.jpg)
取值用@Drawables.id名
当编译器编译的时候都讲整理到一个文件,所以看自己的喜好排版相应的文件都可以
再看配置文件manifest.xml
![](http://imgsrc.baidu.com/forum/w%3D580/sign=28a944bff5d3572c66e29cd4ba126352/f76f450fd9f9d72a4221034bd32a2834359bbbc6.jpg)
这个文件主要是已type app类型(watchface,app,datafield,widget)
设备类型: <iq:products>
访问模块权限<iq:permissions>
这些可以用工具配置,项目右键>属性
![](http://imgsrc.baidu.com/forum/w%3D580/sign=41a1d4b5502c11dfded1bf2b53266255/bc2ccdf9d72a60590655f24c2f34349b023bbac6.jpg)
部分模块需要配置权限在能访问
当然不是每个模块都能被所有应用访问的,具体权限可以看官方文档
![](http://imgsrc.baidu.com/forum/w%3D580/sign=d6ab714a16dfa9ecfd2e561f52d1f754/34dac32a6059252df0520e52339b033b5ab5b9c6.jpg)
布局
以上介绍了各个文件之间的关系和用法,下面来看一下具体的布局界面
Fenix的桌面布局把他看成一个坐标轴图
![](http://imgsrc.baidu.com/forum/w%3D580/sign=725437b9aeec8a13141a57e8c7029157/3a097459252dd42a0d4c12fd043b5bb5c8eab8c6.jpg)
fenix3的分辨率为218*218,Fenix中心为坐标(109,109),把圆圈看成是fenix3可视区域,坐标关系如上图,很容易懂吧
表盘中心为x=109,y=109,其他各个点的坐标一目了然了
看看具体的效果,中心实心圆
![](http://imgsrc.baidu.com/forum/w%3D580/sign=37a78f8a8d13632715edc23ba18ea056/8d7a312dd42a283412e3255d5cb5c9ea14cebfc6.jpg)
![](http://imgsrc.baidu.com/forum/w%3D580/sign=8e94ac75642762d0803ea4b790ed0849/c80ec02a2834349b24437dd3ceea15ce37d3bec6.jpg)
无规则多边形
![](http://imgsrc.baidu.com/forum/w%3D580/sign=a26b454165d0f703e6b295d438fb5148/39093c34349b033b73cdef8c12ce36d3d439bdc6.jpg)
![](http://imgsrc.baidu.com/forum/w%3D580/sign=4a5f44b6f003918fd7d13dc2613c264b/c517209b033b5bb5e09233a831d3d539b700bcc6.jpg)
拥有这些就可以做出自己想要的效果了,比如五角心,三角形椭圆,指针等等,除了在资源文件里布局画出这些图案外,还可以在逻辑程序里也就是.mc文件里用dc画,将更加灵活方便.
布局就为大家讲到这里,当然还有很多二米讲到的细节问题,这只有个大概,关于细节问题不懂的,可以一起讨论
下一篇讲解逻辑程序和api的实际使用
Garmin开发-入门: http://tieba.baidu.com/p/4325635755?pid=83103366105&cid=0#83103366105
这一章我们主要讲fenix3 的布局
文件层次,内容介绍
先来看看整个项目的架构,层次
![](http://imgsrc.baidu.com/forum/w%3D580/sign=b2796a6e69061d957d4637304bf50a5d/532a7f63f6246b60174ba122ecf81a4c500fa2c6.jpg)
bin:编译后的文件,编译后直接拷入garmin/app就可以使用了,具体后面讲
resources:资源文件
drawables:预绘制图像文件(也可以叫局部布局)可以搭配layout文件使用
layouts:布局文件,主要放一些初始化布局资源,文字,图片等等
strings:字符串资源文件,可以预设一些字符串,可以在用的时候通过id获取
在resources文件下还可以建立一些自己的文件,比如fonts,images等资源文件
source:编译文件,通常说的逻辑主体,以.mc文件后缀结尾
manifest.xml:配置文件可以,看成.net的config文件
布局文件:layout.xml
![](http://imgsrc.baidu.com/forum/w%3D580/sign=507048601a950a7b75354ecc3ad0625c/8640e2246b600c339b3ccd9e1d4c510fd8f9a1c6.jpg)
讲布局文件之前先将几个知识点:
查看api文档方法:在我们下载的sdk的doc下面,或者直接点击
![](http://imgsrc.baidu.com/forum/w%3D580/sign=737e3bf30d7b02080cc93fe952d8f25f/1b077f600c338744f6803c2a560fd9f9d62aa0c6.jpg)
1:颜色和字体都在这个模块下
![](http://imgsrc.baidu.com/forum/w%3D580/sign=03ed2c1d05087bf47dec57e1c2d2575e/864318338744ebf804347769def9d72a6159a7c6.jpg)
对应相应的字体和颜色常量
回来讲layout.xml中id为资源中的唯一id,背景色为布局的背景色
drawabel相当于调用了个id为background 的外部的画布一样,这个画布资源放在drawables文件夹下,暂时取名为background.xml
label为文字
属性包括字体,颜色,坐标,文字信息,对其方式
我们再看看上面说的background.xml怎么定义的,如图
![](http://imgsrc.baidu.com/forum/w%3D580/sign=1503246e7cf40ad115e4c7eb672d1151/e1109344ebf81a4c4e77ff9fd02a6059242da6c6.jpg)
drawable-list:画布列表,id唯一标示,因为是呈现的是局部画布,所以有坐标x,y,foreground主体颜色
shape:形状
type为形状类型
circle圆,radius半径,
polygon多边形,pot(多边形)ions为二位数组(一剂)
拥有这些就可以造出我们喜欢的形状
再来看字符串资源文件strings.xml
![](http://imgsrc.baidu.com/forum/w%3D580/sign=22705d920dd162d985ee621421dea950/6a67fff81a4c510ff981f14c6759252dd52aa5c6.jpg)
这个很简单,id对应相应的字符串,取值的时候用@strings.id 名 就可以了
font.xml 字体文件
<font id="font_id" filename="/path" />
依然获取字体时@fonts.id名
bitmaps.xml 图像资源
![](http://imgsrc.baidu.com/forum/w%3D580/sign=5a8c2cb765d9f2d3201124e799ed8a53/06db0e4c510fd9f9f652463f222dd42a2934a4c6.jpg)
取值用@Drawables.id名
当编译器编译的时候都讲整理到一个文件,所以看自己的喜好排版相应的文件都可以
再看配置文件manifest.xml
![](http://imgsrc.baidu.com/forum/w%3D580/sign=28a944bff5d3572c66e29cd4ba126352/f76f450fd9f9d72a4221034bd32a2834359bbbc6.jpg)
这个文件主要是已type app类型(watchface,app,datafield,widget)
设备类型: <iq:products>
访问模块权限<iq:permissions>
这些可以用工具配置,项目右键>属性
![](http://imgsrc.baidu.com/forum/w%3D580/sign=41a1d4b5502c11dfded1bf2b53266255/bc2ccdf9d72a60590655f24c2f34349b023bbac6.jpg)
部分模块需要配置权限在能访问
当然不是每个模块都能被所有应用访问的,具体权限可以看官方文档
![](http://imgsrc.baidu.com/forum/w%3D580/sign=d6ab714a16dfa9ecfd2e561f52d1f754/34dac32a6059252df0520e52339b033b5ab5b9c6.jpg)
布局
以上介绍了各个文件之间的关系和用法,下面来看一下具体的布局界面
Fenix的桌面布局把他看成一个坐标轴图
![](http://imgsrc.baidu.com/forum/w%3D580/sign=725437b9aeec8a13141a57e8c7029157/3a097459252dd42a0d4c12fd043b5bb5c8eab8c6.jpg)
fenix3的分辨率为218*218,Fenix中心为坐标(109,109),把圆圈看成是fenix3可视区域,坐标关系如上图,很容易懂吧
表盘中心为x=109,y=109,其他各个点的坐标一目了然了
看看具体的效果,中心实心圆
![](http://imgsrc.baidu.com/forum/w%3D580/sign=37a78f8a8d13632715edc23ba18ea056/8d7a312dd42a283412e3255d5cb5c9ea14cebfc6.jpg)
![](http://imgsrc.baidu.com/forum/w%3D580/sign=8e94ac75642762d0803ea4b790ed0849/c80ec02a2834349b24437dd3ceea15ce37d3bec6.jpg)
无规则多边形
![](http://imgsrc.baidu.com/forum/w%3D580/sign=a26b454165d0f703e6b295d438fb5148/39093c34349b033b73cdef8c12ce36d3d439bdc6.jpg)
![](http://imgsrc.baidu.com/forum/w%3D580/sign=4a5f44b6f003918fd7d13dc2613c264b/c517209b033b5bb5e09233a831d3d539b700bcc6.jpg)
拥有这些就可以做出自己想要的效果了,比如五角心,三角形椭圆,指针等等,除了在资源文件里布局画出这些图案外,还可以在逻辑程序里也就是.mc文件里用dc画,将更加灵活方便.
布局就为大家讲到这里,当然还有很多二米讲到的细节问题,这只有个大概,关于细节问题不懂的,可以一起讨论
下一篇讲解逻辑程序和api的实际使用