赞
踩
1、px,即像素,1px代表屏幕上的一个物理像素点。
2、dp,dip:device independent pixels(设备独立像素),dp与dip一样,不同的设备有不同的显示效果,
3、sp,sp:scale-independent pixels(缩放独立像素),与缩放无关的抽象像素,它和dp很相似,但唯一的区别在于,Android系统允许用户自定义文字尺寸大小(小,正常,大,超大等),当文字尺寸是“正常”时,1sp=1dp=0.00625inch(英寸),当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625inch
dpi,dpi是像素密度,指的是在系统软件上指定的单位尺寸的像素数量,它往往是写在系统出厂配置文件的一个固定值
在android studio中我们创建项目后,在资源res文件中有drawable和mipmap两种存放图片的文件夹,在使用哪一个文件夹来存放图片,一直都很有争议:
android 在 API level 17 加入了 mipmap 技术,对 bitmap 图片的渲染支持 mipmap 技术,来提高渲染的速度和质量。
mipmap 是一种很早就有的技术了(纹理映射技术),android 中的 mipmap 技术主要为了应对图片大小缩放的处理,在android 中我们提供一个 bitmap 图片,由于应用的需要(比如缩放动画),可能对这个 bitmap 进行各种比例的缩小,为了提高缩小的速度和图片的质量,android 通过 mipmap 技术提前对按缩小层级生成图片预先存储在内存中,这样就提高了图片渲染的速度和质量。在API中通过 Bitmap 的 public final void setHasMipMap (boolean hasMipMap) 方法可以让系统渲染器尝试开启 Bitmap 的 mipmap 技术。但是这个方法只能建议系统开启这个功能,至于是否正真开启,还是由系统决定。
1、px,即像素,1px代表屏幕上的一个物理像素点。
2、dp,dip:device independent pixels(设备独立像素),dp与dip一样,不同的设备有不同的显示效果,
3、sp,sp:scale-independent pixels(缩放独立像素),与缩放无关的抽象像素,它和dp很相似,但唯一的区别在于,Android系统允许用户自定义文字尺寸大小(小,正常,大,超大等),当文字尺寸是“正常”时,1sp=1dp=0.00625inch(英寸),当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625inch
4、dpi,dpi是像素密度,指的是在系统软件上指定的单位尺寸的像素数量,它往往是写在系统出厂配置文件的一个固定值
res 目录下面 mipmap 和 drawable 的区别也就是上面这个设置是否开启的区别。
mipmap 目录下的图片默认 setHasMipMap 为 true,drawable 默认 setHasMipMap 为 false。
google 建议大家只把 app 的启动图标放在 mipmap 目录中,其他图片资源仍然放在 drawable 下面。
drawable与mipmap都可用于存放项目的图片资源,那么对于开发而言,图片到底是放在mipmap文件夹下,还是drawable文件夹下呢?
一般我们在开发时,将项目内,即ui界面中的图片存放在drawable中,然后将app的icon图标存放在mipmap文件夹下
为了让图片在屏幕上做到很好的适配,则一个项目中会有多套图:drawable,drawable-ldpi,drawable-mdpi等。这会造成一个弊端,那就是apk的包特别大。大部分情况下,我们都只会做一套切图,于是便建议在xdhpi中作图,即以分辨率720x1280的手机屏幕为基础作图。此尺寸兼顾了美观性、经济性和计算的简单。切图放在drawable-xhdpi文件夹下,然后计算的话直接 1dp=2px换算。
如果你希望一个图片在不同手机上显示的px数值不变,那么你可以将此图片放到drawable-nodpi文件夹中,假如你该图片在mdpi手机上宽度为10px(10dp),在xhdpi中宽度则是10px(5dp)
1、android:exported 是 Android中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性。
2、android:exported 代表是否能被其他应用隐式调用。
3、true允许被启动,false不允许被启动。
4、android:exported 默认值是由有无intent-filter决定的,如果有intent-filter,默认值为true,否则为false。
5、android:exported = false的情况下,这个Activity将只会被当前Application或者拥有同样user ID的Application的组件调用,对于其他应用,即使有intent-filter匹配,也无法打开,即无法被其他应用隐式调用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。