Android开发教程之屏幕自适应解决方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

IT在线教育平台———麦子学院:多屏幕自适应。该属性的作用是决定控件在其父布局中的显示权重,一般用于线性布局中。其值越小,则对应的layout_width或layout_height的优先级就越高,一般横向布局中,决定的是layout_width的优先级;纵向布局中,决定的是layout_height的优先级。传统的layout_weight使用方法是将当前控件的layout_width和layout_height都设置成fill_parent,这样就可以把控件的显示比例完全交给layout_weight;这样使用的话,就出现了layout_weight越小,显示比例越大的情况。不过对于2个控件还好,如果控件过多,且显示比例也不相同的时候,控制起来就比较麻烦了,毕竟反比不是那么好确定的。于是就有了现在最为流行的0px设值法。看似让人难以理解的layout_height=0px的写法,结合layout_weight,却可以使控件成正比例显示,轻松解决了当前Android开发最为头疼的碎片化问题之一。先看下面的styles(style_layout.xml)1.?xmlversion=1.0encoding=utf-8?IT在线教育平台———麦子学院:!--全屏幕拉伸--5.stylename=layout_full6.itemname=android:layout_widthfill_parent/item7.itemname=android:layout_heightfill_parent/item8./style9.10.!--固定自身大小--11.stylename=layout_wrap12.itemname=android:layout_widthwrap_content/item13.itemname=android:layout_heightwrap_content/item14./style15.16.!--横向分布--17.stylename=layout_horizontalparent=layout_full18.itemname=android:layout_width0px/item19./style20.21.!--纵向分布--22.stylename=layout_verticalparent=layout_full23.itemname=android:layout_height0px/item24./style25.26./resources可以看到,layout_width和layout_height两个属性被我封装成了4个style根据实际布局情况,选用当中的一种,不需要自己设置,看过我前一个ActivityGroup的Demo的同学应该非常熟悉了然后我的Demo的布局如下(weight_layout.xml)1.?xmlversion=1.0encoding=utf-8?IT在线教育平台———麦子学院:==@style/layout_full4.android:orientation=vertical5.LinearLayout6.style=@style/layout_vertical7.android:layout_weight=18.android:orientation=horizontal9.View10.style=@style/layout_horizontal11.android:background=#aa000012.android:layout_weight=1/13.View14.style=@style/layout_horizontal15.android:background=#00aa0016.android:layout_weight=4/17.View18.style=@style/layout_horizontal19.android:background=#0000aa20.android:layout_weight=3/21.View22.style=@style/layout_horizontal23.android:background=#aaaaaa24.android:layout_weight=2/25./LinearLayout26.LinearLayout27.style=@style/layout_vertical28.android:layout_weight=229.android:orientation=vertical30.View31.style=@style/layout_vertical32.android:background=#ffffffIT在线教育平台———麦子学院:=4/34.View35.style=@style/layout_vertical36.android:background=#aa000037.android:layout_weight=3/38.View39.style=@style/layout_vertical40.android:background=#00aa0041.android:layout_weight=2/42.View43.style=@style/layout_vertical44.android:background=#0000aa45.android:layout_weight=1/46.47./LinearLayout48./LinearLayout整个界面布局看起来非常直观,只是嵌套的逻辑要自己理下。显示效果如下图,其中左面一个是480x800的界面,右面的是320x480的界面(后面的图也如此),可以看出显示比例和代码中完全一致,如下图。IT在线教育平台———麦子学院:开发知识,请至麦子学院官网查看。

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功