【源码剖析】Launcher 8.0 源码 (4) --- Launcher 启动流程 第一步(3)之获取布局参数(续)

本文深入剖析Android Launcher的启动流程,重点讲解DeviceProfile的构造过程,如何根据不同屏幕方向计算布局参数,包括横竖屏的差异化设置,以及如何根据硬件参数定制显示细节,如图标大小、间距等。
摘要由CSDN通过智能技术生成

第一步重点是找准模型,而后还是更多细节上面的工作,首先,对于真正的桌面,我们需要提供两套显示方案,分别是横屏方案和竖屏方案。两套方案的重点区别是长宽的区别。

竖屏是上下距离大,而左右距离小。  而横屏则是左右距离大,上下距离小。

于是通过将距离大的放在作为宽度还是作为长度就可以设定好布局。

其代码如下:


    int smallSide = Math.min(realSize.x, realSize.y);
    int largeSide = Math.max(realSize.x, realSize.y);

    landscapeProfile = new DeviceProfile(context, this, smallestSize, largestSize,
            largeSide, smallSide, true /* isLandscape */);
    portraitProfile = new DeviceProfile(context, this, smallestSize, largestSize,
            smallSide, largeSide, false /* isLandscape */);

这里要创建DeviceProfile对象。 创建DeviceProfile对象,也就是实际的硬件模型了,初始模型是部分横竖屏的,而通过创建DeviceProfile可以得出更加详细的一些内容。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值