在Android适应方案汇总(一个)、(两)在。我们理解一些基本概念。

那么详细的开发,我们应该重视起来。

首先,我们需要知道。关键的事实是,这两个适配器:

(1)。这点在单位的使用上用dp、sp以及图片资源存放于不同的drawable目录就能够解决这个问题;

(2)不同尺寸的适配,这点主要靠将相关值以及布局文件放置于不同的目录中来解决。

2.1 values目录

能够在project下创建不同的values目录:values-sw480dp, values-sw600dp, 

values-sw720dp-land等。比方一个控件的宽度,在10寸pad上是10dp,在8寸pad

上是5dp。

这时。你能够定义一个变量。button_width,然后在values-sw600dp

下写<dimen name=”button_width“>5dp</dimen>。在values-sw720-land下写

<dimen name=”button_width“>10dp</dimen>。这样就达到了在不同尺寸pad上,

对应控件大小不一样的效果。

 2.1 layout目录

    假设在不同尺寸设备上展示的布局有明显区别,只用values不同已经难以控制,

那么就能够考虑写不同的布局文件置于不同的layout目录下。android会依据设备

尺寸去载入对应目录下的布局文件。如:layout-sw480dp。layout-sw600dp,

layout-sw700dp等。

 值得注意的是,假设不是非常有必要,尽量採用2.1方案,方便维护。假设尺寸和分辨率都不同。

 那么就要结合(1)、(2)考虑了。

(补充:事实上values目录和layout目录不不过依据尺寸推断。也和分辨率有关,不过在通常情况下。

综合计算考虑。仅依据尺寸推断就能够了:

320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
480dp: a tweener tablet like the Streak (480x800 mdpi).
600dp: a 7” tablet (600x1024 mdpi).
720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).

600dp的含义是:代表这个设备的最短的那一边。

获取设备的最短边的代码是:Configuration
config = getResources().getConfiguration();

int  smallestScreenWidth = config.smallestScreenWidthDp;

这个时候拿smallestScreenWidth 与600想比較就能够知道该设备是否能读取里面的资源了。

除此之外,为了方便适配,在编码时我们还应该注意什么呢,主要有下面几点:

(1)多使用权重(android:layout_weight)

尤其是在tab切换布局,listview title及Item布局等情况下;

  (2)设置宽度和高度时,尽量使用match_parent和wrap_content,避免把控件宽高设死;

  (3)父容器布局选用

  多使用RelativeLayout,FrameLayout。GridLayout等,降低布局层次。

当然,在使用

  权重时,得採用LinearLayout;

    (4) 在xml里,设置高度、宽度採用dp(dip),设置字体採用sp。

(应当指出的,在里面的代码,我们写setHeight(...)单位是px)

Android适应方案汇总(三)的更多相关文章

  1. Android进阶(十九)AndroidAPP开发问题汇总(三)

    Android进阶(十九)AndroidAPP开发问题汇总(三) Java解析XML的几种方式: http://inotgaoshou.iteye.com/blog/1012188 从线程返回数据的两 ...

  2. Android UI开发第三十九篇——Tab界面实现汇总及比较

    Tab布局是iOS的经典布局,Android应用中也有大量应用,前面也写过Android中TAb的实现,<Android UI开发第十八篇——ActivityGroup实现tab功能>.这 ...

  3. Android开源项目库汇总

    最近做了一个Android开源项目库汇总,里面集合了OpenDigg 上的优质的Android开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个star. 抽 ...

  4. fir.im Weekly - 600个 Android 开源项目汇总

    本期 Weekly 收集了一些热度资源,包含 Android.iOS 开发工具与源码分享,程序员也应该了解的产品运营.设计等 Tips ,希望对你有帮助. 600个Android开源项目汇总 勤劳的 ...

  5. [转]【eoeAndroid索引】史上最牛最全android开发知识汇总

    一.开发环境搭建 (已完成) 负责人:kris 状态:已完成 所整理标签为:搭建 SDK JDK NDK Eclipse ADT 模拟器 AVD 调试器(DEBUG) DDMS 测试 日志 Logca ...

  6. uni-app&H5&Android混合开发三 || uni-app调用Android原生方法的三种方式

    前言: 关于H5的调用Android原生方法的方式有很多,在该片文章中我主要简单介绍三种与Android原生方法交互的方式. 一.H5+方法调用android原生方法 H5+ Android开发规范官 ...

  7. Android测试基础题(三)

    今天接着给大家带来的是Android测试基础题(三).    需求:定义一个排序的方法,根据用户传入的double类型数组进行排序,并返回排序后的数组 俗话说的好:温故而知新,可以为师矣 packag ...

  8. Android APP压力测试(三)之Monkey日志自动分析脚本

    Android APP压力测试(三) 之Monkey日志自动分析脚本 前言 上次说要分享Monkey日志的分析脚本,这次贴出来分享一下,废话不多说,请看正文. [目录] 1.Monkey日志分析脚本 ...

  9. Android抓包方法(三)之Win7笔记本Wifi热点+WireShark工具

    Android抓包方法(三) 之Win7笔记本Wifi热点+WireShark工具 前言 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等 ...

随机推荐

  1. hdu 2055 An easy problem (java)

    问题: 開始尝试用字符做数组元素.可是并没实用. 在推断语句时把a z排出了. An easy problem Time Limit: 1000/1000 MS (Java/Others)    Me ...

  2. 不知道的JavaScript

    你不知道的JavaScript上卷笔记 前言 You don't know JavaScript是github上一个系列文章  初看到这一标题的时候,感觉怎么老外也搞标题党,用这种冲突性比较强的题目吸 ...

  3. birkenfeld / sphinx-contrib — Bitbucket

    birkenfeld / sphinx-contrib — Bitbucket README for sphinx-contrib This repository contains a collect ...

  4. CentOS Kernel Source Install

    http://linuxmoz.com/centos-kernel-source-install/

  5. 使用CXF创建REST WEBSERVICE

    简单小结下CXF跟REST搭配webservice的做法,直接举代码为样例: 1 order.java   package com.example.rest; import javax.xml.bin ...

  6. Java并发专题 带返回结果的批量任务运行 CompletionService ExecutorService.invokeAll

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/27250059 普通情况下,我们使用Runnable作为主要的任务表示形式,可是R ...

  7. Androidclient和server端数据交互的第一种方法

    网上有非常多样例来演示Android客户端和server端数据怎样实现交互只是这些样例大多比較繁杂,对于刚開始学习的人来说这是不利的.如今介绍几种代码简单.逻辑清晰的交互样例,本篇博客介绍第一种: 一 ...

  8. HDU 4916 树分治

    Mart Master II Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  9. OpenStack镜像管理3

    第三部分 OpenStack镜像管理 一.简介 很多源都有为OpenStack已经编译好的各种镜像了,您可以直接下载并通过使用这些镜像来熟悉OpenStack. 不过如果是为生产环境进行部署的话,您一 ...

  10. 日版 Galaxy Note sc05d 涮机

    问题描写叙述:手机已坏.进不了系统 以下提供线涮刷机教程: 1.首先拔掉你的sd卡和sim卡.双清你的手机.可能有些版本号的机油没有双清模式,那就进到设置里边恢复出厂设置,然后关掉你的手机再开机.等到 ...