前面地基基本构建完成,接下来肯定要开始布局咯,所以咱今天要介绍的就是xml布局需要用到的控件BoxInsetLayout。
在phone开发的时候,常用组件一般都是RelativeLayout,LineaLayout,FrameLayout等作为父控件,这些控件直接在手表中由于边缘的问题导致布局并不是你想要的那样。例如我在布局中放入三个控件:
我在布局中放置了三个控件,但是很奇葩 运行的结果居然是这样???
居然只显示了按钮,其他两个textView没显示?咋回事?所以这种时候就我就去查看文档后发现了BoxInsetLayout。
BoxInsetLayout其实也是继承与FrameLayout,但是它通过计算后兼容了手表,目前市场上的手表就有两种风格,方形,圆形,我自己的设备moto360属于圆形,后面我会提到怎么去布局兼容。
布局改成BoxInsetLayout后运行程序
运行结果后发现居然还是和上面的一样,一样不显示其他两个TextView,这怎么回事?
通过api查询原来必须在BoxInsetLayout的第一层子元素上必须加入属性app:layout_box="all"才能完美显示出内容来
app:layout_box="all"确保所有子元素显示在可见区域内。
然后在Run就搞定了
是不是很洋气?所以就可以尽情去布局自己想要的内容了。
上面说过手表分为方形和圆形,那怎么去自动适配对应的布局呢?那就下次再说咯,因为我困了。晚安!
总结:android wear有自己一套UI体系,只需要通过官方文档说明以及亲自实践,很快就能得到你想要的东西。最后说一句:实践是唯一的真理,其他都是扯犊子。