Android 喜迎 Constraint Layout

2016-05-20 10:56:43 +08:00
 Majirefy

在最新的 Android Studio 2.2 Preview 1 中, Google 在 UI 布局上提供了一个新的默认布局方式: Constraint Layout 。

具体介绍: http://tools.android.com/tech-docs/layout-editor

当然现在还有很多问题,譬如打开预览就会报错之类的…… Google 也承诺会“ rapidly ”更新这个 API 。

然而有一点没有明白……既然有了 Relative Layout ,为什么还要学习 iOS 弄一个这个出来呢?官方给的解释并不太具有说服力,至少用 Relative Layout 也都能做到……

于是乎,请教一下~

13681 次点击
所在节点    Android
35 条回复
kyze8439690
2016-05-20 10:58:29 +08:00
Google 这种头脑发热就上的东西多了去了,没必要深究。
Majirefy
2016-05-20 10:59:47 +08:00
@kyze8439690 Google 精虫上脑,把所有新建工程的模板全部改成了默认 Constraint Layout ……
yaoyuan131617
2016-05-20 11:41:27 +08:00
官方的说辞是 告别 xml 、布局快、可响应不同尺寸、性能好 ...
当然我也信了...
Majirefy
2016-05-20 11:43:54 +08:00
@yaoyuan131617 其他的 Layout 也可以相应不同尺寸啊……

布局快……难道真的有人在实际开发中用鼠标拖么……而且拖的话问题很多吧……

性能好……是因为可以减少一些 Layout 嵌套么?
21grams
2016-05-20 11:44:51 +08:00
旧的还没摸熟新的又来了。
Bown
2016-05-20 13:19:00 +08:00
This new layout is a flexible layout manager for your app that allows you to create dynamic user interfaces without nesting multiple layouts.

demo 看不出实际开发体验如何,编辑器看着挺不错,不过就减层级这一点还是很关键的, layout 和 measure 的性能提升、以及低端机上布局嵌套太深的 StackOverflowError 得以解决
Majirefy
2016-05-20 13:24:08 +08:00
@Bown 的确可以减少 layout 嵌套

自己现在用编辑器还不停报错……
torchmu
2016-05-20 13:40:30 +08:00
动效确实满炫酷的
earnrepuNey
2016-05-20 13:42:33 +08:00
官方还出了一个 Flexbox_layout 呢
Majirefy
2016-05-20 13:46:31 +08:00
@torchmu 编辑器效果堪比某些 App 了……


@earnrepuNey 这个没有注意到,具体说一下?
emanonwzy
2016-05-20 13:51:49 +08:00
挺好的,希望以后可以不用再手写 xml
814084764
2016-05-20 13:52:14 +08:00
这是要换 swift 的前奏吗?
mozartgho
2016-05-20 14:05:59 +08:00
感觉主要是设计工具更强大了,但是还是觉得没有直接写 layout xml 方便啊
longaiwp
2016-05-20 14:11:24 +08:00
唉, Google 总是做这些开历史倒车的事情,我也不想多说什么了
Majirefy
2016-05-20 14:22:12 +08:00
@mozartgho 感觉不管是几十年前 Basic 还是现在的 Android ,都想让初学者拖控件玩……然而几十年过去了,开发者们还是偏向于手写界面布局………………
EchoWhale
2016-05-20 14:27:20 +08:00
@814084764 说不定真的上 swift 啊
sdqhzhm
2016-05-20 14:31:30 +08:00
复杂的布局上, Layout 层级的减少和很多小细节的优化是可以极大的提升流畅度的。 Constraint Layout 的构建应该也是基于这种原因。
Majirefy
2016-05-20 14:35:03 +08:00
@sdqhzhm 那刚刚开源的 FlexBox Layout 什么意思? https://github.com/google/flexbox-layout

这个也能做到类似的效果吧…… Google 的哲学是啥,一个效果可以通过 n 个解决方案么,没有 best practice 么……
monsoon
2016-05-20 14:42:49 +08:00
楼主,别听楼上那些消极的建议。
这个布局是 Android 跨时代的一个布局!
而且 Android Studio 组和开发这个的组应该花了非常非常大的时间。
今年 Android I/O 大会里介绍今年 Android 的开发的变化,这是布局是第一个开始介绍的。
monsoon
2016-05-20 14:47:24 +08:00
这个布局的教程可以看 https://codelabs.developers.google.com/codelabs/constraint-layout/index.html#0
这个布局可以做的事情比想象中要多的多。

明天还有有一个 i/o event 专门介绍这个布局。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/279972

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX