利用约束布局ConstraintLayout实现全适配九宫格

android五花八门品类众多尺寸各异的屏幕,一直是产品经验和开发人员的心中难以解开的疙瘩,像素,DP,英寸各种的不方便。面对竞争激烈的APP市场,界面平庸了不出容易出彩,界面特殊了又会带来适配方面的难题。如何解决开发人员心中的痛,也是谷歌安卓团队绕不开的坑。借鉴网页开发的优点,早期已经有很多高手把百分比引入布局,但是需要做大量的运算,界面越复杂,运算量越大,这无疑疑会带来性能上的下降,从而影响体验。直到后来谷哥终于也推出了自己的百分比布局。

Google早期官方提供的百分比布局库,包含PercentFrameLayoutPercentRelativeLayout。version 24.1.0引入,version 26.1.0被弃用(真的短命)。

后来在2016年的Google I/O大会上 , Google 发布了Android Studio 2.2预览版,同时也发布了Android 新的布局方案 ConstraintLayout , 但是最近的一年也没有大规模的使用。2017年Google发布了 Android Studio 2.3 正式版,在 Android Studio 2.3 版本中新建的Module中默认的布局就是 ConstraintLayout 。除了具有RelativeLayout的各种优点外,还具有大量独特的属性,对其内控件有诸如位置百比比,大小百分比,宽高百分比等一系列属性。

这里利于ConstraintLayout开发一个特殊的九宫格游戏,九宫格需要在不同屏幕下都保持每个单元正方形,即宽高一比一,横3竖3.这在以前布局不写代码无法做到,我不知道布局时的屏宽,没有办法根据屏宽取三等份的宽和高,这里我只要设置宽高1:1,三个控件平分屏宽就可以实现。如下

 

 

 

代码如下:

 


        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        
    



    

    

    

    

    

    

    

    

    

十六宫

 

 

方形环绕:

 




        

        

        

        

        

        

        

        

        

        

        

        

        
    

 

 

你可能感兴趣的:(android应用开发,九宫)