Drawable资源篇

版权声明:该博客为博主原创,转载请标明出处! https://blog.csdn.net/DJH2717/article/details/84672122

1, 了解哪些Drawable?适用场景?

答: Android 的 drawable 是一个抽象类, 是值一种可绘制的抽象概念, 其子类较多,

  • 常用的 StateListDrawable 对应于 xml 中的 selector, 也就是我们常用来设置按钮点击相应的背景,
  • 还有 shape, 对应的是 gradientDrawable, 也一般用来设置背景,
  • NinePatchDrawable, 也就是我们说的 .9  图片,其可以用来指定拉伸区域和内容区域,  一般常用来设置为聊天气泡,   

其他较为常见的有, scaleDrawable, ClipDrawable, TransitionDrawable, RotateDrawable, LevelListDrawable, 等等.

2,mipmap系列中xxxhdpi、xxhdpi、xhdpi、hdpi、mdpi和ldpi存在怎样的关系?

答: 在 Android 中, 是以 mdpi 为标准 dpi, 其为 160, 在该 dpi 下, 1dp=1px, 而其他的  XXXdpi 都是根据这个标准 dpi 进行相应的倍数换算得到的,  如 xxxhdpi 为 4 倍,  xxhdpi 为 3倍, 即 480 dpi, 这个也是最为常用的一个 dpi, 现阶段的 1080 p 的手机一般都为这个 dpi, 其他的依次类推.

3, dp、dpi、px的区别?

答: dp 是值密度独立像素, 是 Android 中特有的单位, 而 dpi 是只像素密度, 这个像素密度是认为指定的, 而真正的指屏幕的物理像素密度是 ppi, 这个是无法更改的, 而 px 便是我们最为熟悉的像素.


4, res目录和assets目录的区别?

答:res 和 assets 最主要的区别是否会产生资源清单 R 类, res 会产生, 而 assets 不会, 此外,  res 目录下的除 raw 子目录中的文件不会压缩外, 其他目录在打包成 apk 时都会进行压缩优化,  而 assets 下的文件都不会进行压缩.   assets 下可以存在自定义的子目录, 访问 assets 中的文件时需要使用 assetsManger, 切需要指明路径, 如访问 assets 的子目录 img 目录中的图片 picture.png 时, 需要传入的路径为 "img/picture.png" .

猜你喜欢

转载自blog.csdn.net/DJH2717/article/details/84672122