chromium ui中的LayoutManager

chromium ui中view自己没有布局的能力,它需要依赖LayoutManager来控制界面布局。有三种LayoutManager:FillLayout,BoxLayout,GridLayout。chromium这方面没有什么文档,需要看代码和注释去自己领会。FillLayout和BoxLayout都还比较简单,GridLayout就比较坑爹了。最近一直在研究chromium的ui,看了这么多代码,写篇博客总结下,要不就没有什么产出了。

FillLayout

这种布局很简单,就是一个子view完全撑满它的父view就行了。唯一要注意的是只能AddChildView一个。

BoxLayout

BoxLayout这种布局的view可以拥有多个子view。它可以指定水平还是垂直排布子view,子view跟父views的水平和垂直边界空隙大小,还有子view之间的空隙大小。

GridLayout

最后是GridLayout布局方式,最复杂也功能最强大。我用这种方式写了一个计算器的UI。具体用法我写在代码注释里面 。chromium_grid_layout

 总结

可以看到,写chromium ui还比较麻烦的,这可能是因为要做到跨平台的ui,太复杂的ui会导致很多工程量,所以不能把ui写的太复杂。chromium浏览器的框架ui都比较简单,复杂的ui都用webui去做了,比如设置页面。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注