Android 关于资源适配
一. 关于图片资源
图片宽高 不要固定大小,在小屏幕和大屏幕,不同分频率上 ,採用不同的图片,这个要美工切图的。
不同的分辨率,界面的长宽比不一致,须要不同规格的图片
在drawable-hdpi,drawable-ldpi,drawable-mdpi 中放不同分辨率的图片
注:为了减小整个应用程序安装包大小,选用最高分辨率适配,特殊界面图片特殊处理
二. 关于布局适配。
Android手机屏幕大小不一,有480x320,640x360,800x480.如何才干让App自己主动适应不同的屏幕呢?
事实上非常easy,仅仅须要在res文件夹下创建不同的layout文件夹,比方:layout-640x360,layout-800x480,全部的layout文件在编译之后都会写入R.java里,而系统会依据屏幕的大小自己选择合适的layout进行使用。
1. 尽量不要使用绝对布局
2. 尽量使用match_parent,不要使用fill_parent,在布局中设置长度的时候,最好
使用Wrap-content,match-parent,文本要使用sp,像素要使用dip/dp。
3. 可以使用权重的地方尽量使用权重(android:layout_weight)。
4. 假设是纯色背景,尽量使用android的shape 自己定义
5. 假设须要在特定分辨率下适配,能够在res文件夹上新建layout-HxW.xml的文件夹。
比方要适配1080*1800的屏幕(魅族MX3採用此分辨率)则新建layout-
1800x1080.xml的目录,然后在以下定义布局。Android系统会优先查找分辨率
同样的布局,假设不存在则换使用默认的layout下的布局。
不同分辨率,界面的字体大小,字体等须要不同的样式,且须要动态生成的情况下,
须要把不同分辨率的配置信息保存到应用中。
样例:
在RES里创建 values-480x320 values-800x400 value-1280x720
并在创建的目录中分别创建dimens.xml
<dimen name="Text_size">30px</dimen>
在程序中直接调用R.dimen.Text_size
int sizeOfText = (int) this.getResources().getDimension(R.dimen.Text_size);
注:实际应用发现,字体大小适配时
比方仅仅适配了例如以下屏幕字体
values-480x320 values-800x480 value-1280x720
当出现手机屏幕分辨率为 854x480时会自己主动找最大字体适配 (value-1280x720)
总结:假设字体800x480以上没有适配,手机自己主动按最大分辨率适配.
Android 关于资源适配的更多相关文章
- Android sdk资源包res里面的drawable(ldpi、mdpi、hdpi、xhdpi、xxhdpi)
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854) (2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x ...
- 34.Android之资源文件res里drawable学习
我们经常看到android工程资源文件res下drawable如ldpi.mdpi.hdpi.xhdpi.xxhdpi文件,今天我们学习了解下. (1)drawable-hdpi里面存放高分辨率的图片 ...
- Android 关于屏幕适配
android屏幕适配详解 官方地址:http://developer.android.com/guide/practices/screens_support.html 转自:http://www.c ...
- 老李分享:android手机测试之适配(1)
Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...
- Android界面设计适配不同屏幕的尺寸和密度解读
Android是运行在各种提供不同的屏幕尺寸和密度的设备.Android系统提供跨设备的统一开发环境和处理大部分的工作,以调整每个应用程序的用户界面,以在其上显示的画面. 同时,该系统提供了API,允 ...
- Android开发——Android手机屏幕适配方案总结
)密度无关像素,单位为dp,是Android特有的单位 Android开发时通常使用dp而不是px单位设置图片大小,因为它可以保证在不同屏幕像素密度的设备上显示相同的效果. /** * dp与px的转 ...
- Android实习生 —— 屏幕适配及布局优化
为什么要进行屏幕适配.对哪些设备进行适配?在近几年的发展当中,安卓设备数量逐渐增长,由于安卓设备的开放性,导致安卓设备的屏幕尺寸大小碎片化极为严重.从[友盟+]2016年手机生态发展报告H1中看截止1 ...
- Android权限管理之RxPermission解决Android 6.0 适配问题
前言: 上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxP ...
- Android xml资源文件中@、@android:type、@*、?、@+含义和区别
一.@代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@andr ...
随机推荐
- qt宽字符串中文乱码(codec->toUnicode值得学习)
乱码原因: QT使用的是utf-8 简体中文版的windows操作系统及其应用软件默认都是ANSI/GBK编码.而且这里应该是宽字符串. 多字节ANISGB 宽字符UNICODE 多字节显示标准字符的 ...
- 使用Elasticsearch、Logstash、Kibana与Redis(作为缓冲区)对Nginx日志进行收集(转)
摘要 使用Elasticsearch.Logstash.Kibana与Redis(作为缓冲区)对Nginx日志进行收集 版本 elasticsearch版本: elasticsearch-2.2.0 ...
- byte为什么要与上0xff(转)
无意间翻看之间的代码,发现了一段难以理解的代码. byte[] bs = digest.digest(origin.getBytes(Charset.forName(charsetName))) ; ...
- nginx源代码分析--模块分类
ngx-modules Nginx 基本的模块大致能够分为四类: handler – 协同完毕client请求的处理.产生响应数据.比方模块, ngx_http_rewrite_module, ngx ...
- ANDROID 中设计模式的採用--创建型模式
所谓模式就是在某一情景下解决某个问题的固定解决方式. 全部的创建型模式都是用作对象的创建或实例化的解决方式. 1 简单工厂模式 创建对象的最简单方法是使用new来创建一个对象,假设仅仅创建一种固 ...
- (三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)
文章来源:http://www.cnblogs.com/smyhvae/p/4006009.html 一.GET和POST的对比: 在漫长的时间当中,其他的方法逐渐的退出了历史舞台,最常用的只剩下GE ...
- [Django实战] 第4篇 - 用户认证(用户登录)
今天来实现用户登录模块 首先,我们创建一个表单(forms.py): from django import forms from django.contrib.auth.models import U ...
- MFC TCHAR 和CHAR相互转换
没有定义UNICODE,所以它里面的字符串就是简单用" "就行了,创建工程的时候包含了UNICODE定义,就必须对TCHAR和char进行转换. 首先是把TCHAR转为char / ...
- hdu2112 HDU Today
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 题目分类:SPFA算法+map容器 错误点:红色标记部分 代码: #include<bit ...
- java之jvm学习笔记四(安全管理器)
java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...