zoukankan      html  css  js  c++  java
  • Android入门三之目录结构3

    对于静态资源的缩放,可以通过不同的drawable来实现,但如何使布局文件也去适配不同的屏幕、不同的分辨率呢?

    大家可能会猜到“layout”、“layout-port”、“layout-land”、“layout-480x320”、“layout-800x480”等,这些文件夹就是用来实现对不同屏幕的适配用的。是的,就是通过这几个文件来实现的。

    layout-port:竖屏时调用

    layout-land:横屏时调用

    剩几的几个文件夹看其名就知道它的用处了。

    这些文件夹的存在,是很好的解决了布局自适应的问题,但对开发者来说,绝对是件痛苦的事。对UED也一样,因为他们要为每种屏幕做一个视觉标稿。APK包的大小也在增加好几倍。对于通过不同的文件夹来实现屏幕的适配,官网也有大量的篇幅来描述,但多布局绝不是适配的最佳方案。

    谷歌的文档中也提出了“Best Practices”:

    1,Use wrap_content, fill_parent, or dp units when specifying dimensions in an XML layout file

    2,Do not use hard coded pixel values in your application code

    3,Do not use AbsoluteLayout (it's deprecated)

    4,Supply alternative bitmap drawables for different screen densities

    对于布局文件尽量wrap_content,fill_parent(2.2之后推荐使用match_parent),如需明确宽高像素,可将px转化为dp。

    px = dp * (设备密码/160),因此dp = px * (160 / 设置密码)

    开发时以480*800为基准开发时,120px = 80dp。

    480*800标屏时设备密码为240,因此480*800为基准时,px * 2/3 为dp的值

    以720*1280为基准开发时,120px=60dp。

    720*1280标屏设备密码为320,因此720*1280时,px * 1/2为dp的值

    一般开发几乎都是以这两种中的一种为基准做开发,使用一套布局文件去匹配所有屏幕,当然这对布局得有一定的了解,后续会对布局做为重点来讲。

    接着就是对图片的适配,图片的适配又分为静态图片和动态图片,静态图片的适配上节有说起过,但对于动态图片的适配在应用开发中也是重点。像淘宝、天猫、聚划算等客户端几乎都是纯动态图片,由此可见动态图片的适配在应用开发中是极为重要的,也是有许多注意事项的。后续进阶里会有详细说明。

    前天在YY上和大家讲了我的第一节android课程,主要讲了我的一路android历程,希望大家能有所收获。这几天一直在思考接下来的课程如何开始,android基础的东西还是很多,但怎样排版才能让大家更快、更直观的了解android、学习android的精髓,提高实战经验,最终拿到更高的工资。一些培训机构的教程也有了解过一些,大多都是一个很小的知识点就讲解一个小时,有些东西是我五年的android开发中从来没用过的。面试过许多从培训机构出来的学生,相对布局、线性布局他们都不习惯用,最的最多的竟然是TableLayout。或许我已经知道如何去设计课程了,希望大家能坚持来听。~_~

  • 相关阅读:
    路由器01---k2刷Pandora
    nginx+flask02---概念
    Nginx06---实现websocket
    Nginx05---负载均衡 upsteam
    nginx+uwsgi02---django部署(推荐)
    Nginx04---实现直播
    Nginx04---编译安装
    mybatis+mysql insert添加数据后返回数据主键id---(转)
    JSON字符串转换为Map
    Http post请求案例
  • 原文地址:https://www.cnblogs.com/feisha/p/3669969.html
Copyright © 2011-2022 走看看