理解屏幕和资源的常见问题
来源:互联网 发布:神雕侠侣源码 编辑:程序博客网 时间:2024/06/08 14:57
列出自个的经常遇到的问题,和困惑的地方,以此写出来仅仅是为了把它作为一个笔记来记下来,以后会慢慢学习和修改,其中可能还有一些错误的知识点,希望各位网友看见了能够指出来,共勉之。这也是我开始写博客的第一遍文章,我把它定位为我的笔记本,我发现有各种各样的线上笔记本,但是都不怎么好用,或多或少的不方便,很多的朋友都说写博客是增强自己的一种方式,受益匪浅。所以,我也来试一试。作为一名接触不久android开发人员,我希望以此方式记录我的成长历程,希望有朝一日能成行业大牛,郭婶,鸿洋那样的代码界的明星,传播自己的知识和能量。好了,闲话不多扯了。开始列出问题的方式记录知识点,往后希望知识积累多的时候来进行分析式的写博客
- dpi的计算
√(a*a+b*b) /c a 、b为宽高,c为屏幕对脚线的长度(即该电脑、手机是几英寸的), a和b就是分辨率,这些都是商品参数,知道的。算出来了dpi,可以根据
他有一篇文章http://blog.csdn.net/guolin_blog/article/details/50727753 drawable相关细节,分析的很好。
我个人感觉要被哪些东西该放哪,什么适配,还有bitmap弄炸了。不过,慢慢来,一天学一点,终究给他弄透彻。
回归正题:通过方法可以获取到屏幕的dpi
float xdpi = getResources().getDisplayMetrics().xdpi;float ydpi = getResources().getDisplayMetrics().ydpi;
(借鉴别人的),所以应该很不错。
理解资源放在不同的文件夹为什么会被放大缩小?
首先解释一下图片为什么会被放大,当我们使用资源id来去引用一张图片时,Android会使 用一些规则来去帮我们匹配最适合的图片。什么叫最适合的图片?比如我的手机屏幕密度是xxhdpi,那么drawable-xxhdpi文件夹下的图片就是最适合的图片。因此,当我引用android_logo这张图时,如果drawable-xxhdpi文件夹下有这张图就会优先被使用,在这种情况下,图片是不会被缩放的。但是,如果drawable-xxhdpi文件夹下没有这张图时, 系统就会自动去其它文件夹下找这张图了,优先会去更高密度的文件夹下找这张图片,我们当前的场景就是drawable-xxxhdpi文件夹,然后发现这里也没有android_logo这张图,接下来会尝试再找更高密度的文件夹,发现没有更高密度的了,这个时候会去drawable-nodpi文件夹找这张图,发现也没有,那么就会去更低密度的文件夹下面找,依次是drawable-xhdpi -> drawable-hdpi -> drawable-mdpi -> drawable-ldpi。
总体匹配规则就是这样,那么比如说现在终于在drawable-mdpi文件夹下面找到android_logo这张图了,但是系统会认为你这张图是专门为低密度的设备所设计的,如果直接将这张图在当前的高密度设备上使用就有可能会出现像素过低的情况,于是系统自动帮我们做了这样一个放大操作。 (引用郭婶的)
图片的内存加载问题
今天就写这么多了,以后再想到了再补充,呵呵
0 0
- 理解屏幕和资源的常见问题
- Android屏幕适配不同的资源图片和布局
- 屏幕密度和图片资源路径的对应关系
- 自适应不同屏幕的资源
- 自适应不同屏幕的资源
- 关于linux0.12临界资源的一点理解和猜测
- 从资源池和管理的角度理解物理内存
- 从资源池和管理的角度理解物理内存
- 从资源池和管理的角度理解物理内存 .
- 从资源池和管理的角度理解物理内存
- 从资源池和管理的角度理解物理内存
- 从资源池和管理的角度理解物理内存
- io资源访问,及request_mem_region和ioremap的理解
- 对Unity资源和对象的深入理解
- 屏幕适配的理解
- 关于屏幕的概念理解
- 关于Android 6.0二维码生成和识别的简单理解和常见问题
- 自适应屏幕资源drawable和layout文件夹与对应手机分辨率之间的关系
- HTTP Status 404 - No result defined for action XXX and result input
- 一、高并发架构设计杂写
- poj1961 period KMP求循环节
- 救济金发放
- [PAT(B)]1005. 继续(3n+1)猜想 (25)源码 链表实现
- 理解屏幕和资源的常见问题
- Qt Quick 底部导航+路径动画
- iOS杂记——static关键字作用
- 直接拿来用,最火的.NET开源项目(beta)
- MCU-外设(USART/UART)
- Eclipse中设置ButterKnife进行注解式开发步骤
- js 添加删除替换class 类
- Android 滑动导航菜单的快速构建(二) Material Design
- Can't create handler inside thread that has not called