底部导航栏图片特别大导致文字看不到--像素,分辨率

问题:

底部导航栏图片特别大导致文字看不到了

原因:

图片放的位置不合适导致的,可能把图片放到了drawable下边导致的

解决:

把图片放到mipmap的xxhdpi下边就ok。

转自:https://www.jianshu.com/p/ac70b0c78e95

总结:

1.开发过程中,绝大多数的项目底部导航栏,一般有以下几种方式来实现:RadioGroup+RadioButton、自定义View等等一些方式

2.drawable和mipmap目录:

由于运行 Android 的设备具有多种屏幕密度,您应始终提供能够根据各种通用密度级别(低密度、中密度、高密度和超高密度)进行定制的位图资源。这有助于您在所有屏幕密度上获得良好的图形质量和性能。

如需生成这些图像,您应以矢量格式的原始资源为基础,按以下尺寸缩放比例生成每种屏幕密度对应的图像:

  • xhdpi:2.0
  • hdpi:1.5
  • mdpi:1.0(基准)
  • ldpi:0.75

这意味着,如果您为 xhdpi 设备生成了一幅 200x200 的图像,则应分别按 150x150、100x100 和 75x75 图像密度为 hdpi 设备、mdpi 设备和 ldpi 设备生成同一资源

转自:https://www.jianshu.com/p/f7dc272b3469

3.像素(Pixel,缩写为px)概念的形象理解:

像素可以分为物理像素和逻辑像素。

物理像素:不管是手机屏幕还是电视机的屏幕,屏幕上都有一个个很小的发光器件。如果一款智能电视机屏幕是1920*1080的分辨率,那么在水平方向上有1920个发光器件,垂直方向上有1080个发光器件。所以我们在谈论手机、智能电视机的分辨率时,都是在谈论它们的屏幕而已。有兴趣的话可以带一个放大镜去商场,估计就能看清这一个个的细小的发光器件了。

逻辑像素:假设你有一个相机,有天要给你老婆的脸部来个特写。你的相机内部拍照装置在水平方向上安装有1920个感光器件,在垂直方向上安装有1080个感光器件,那么一共就有1920乘以1080等于2073600个感光器件。给你老婆脸部特写时,每一个感光器件都拍下了脸部的一个点,那么就有2073600的点被拍下了,也就是你老婆脸部的照片就由这2073600个点组成。这200多万个点以0和1的二进制数据流的形式存储在相机里,并且有一段二进制数据流记录下了这张图片的像素信息,翻译成大白话就是“这张美照的分辨率是1920*1080,像素有2073600个”,这里记录下的像素信息就是逻辑像素。为啥叫逻辑像素?你肉眼能看到这些二进制数据流吗?你拿放大镜也看不到!

转自:https://zhuanlan.zhihu.com/p/48212912

4.分辨率(Resolution)的概念

 分辨率可以分为物理分辨率和逻辑分辨率。

物理分辨率:我们说这款手机的分辨率是800*480是在说手机屏幕的分辨率是800*480,也就是在手机屏幕上的水平方向有480个像素点,说白了就是有480个发光器件;在垂直方向上有800个像素点,说白了就是有800个发光器件。如果你眼睛贴着手机屏幕用力地看,也许你会看到似乎屏幕上有一个个的小圆点。电视机的分辨率、电脑显示器的分辨率也都是这个意思。所以我们在谈论手机、智能电视机的分辨率时,都是在谈论它们的屏幕上有多少个像素,也就是有多少个发光器件而已。

逻辑分辨率:我们也经常会听到别人说“这张图片的分辨率是1920*1080的”这样的话,那么图片的分辨率又是个什么意思呢?

好了,有一天你觉得你长得很帅,无法自拔,想着给自己的脸部来一个自拍,在拍摄的那一刹那,这200多万个微元每一个微元分别采集了你脸部的一个光点,那么就采集到了200多万个光点并且将这些光点信号转换为电信号,那么就有2073600个电信号,并且这些电信号以矩阵的方式排列。矩阵的水平方向上有1920个电信号,垂直方向上有1080个电信号,这就是你脸部图片的雏形了。这些电信号每一个电信号就是图片的逻辑像素!为啥叫逻辑像素?因为你看不到摸不着,是个抽象的东西,所以叫逻辑像素。最终图片的逻辑分辨率就是在水平方向上有1920个逻辑像素,垂直方向上有1080个逻辑像素。可以使用MediaInfo软件查看图片的信息

转自:https://zhuanlan.zhihu.com/p/48305422

5.像素和分辨率的关系:

像素即px,是画面中最小的点(单位色块)。

分辨率=画面水平方向的像素值 * 画面垂直方向的像素值。分辨率可以分为两方面:屏幕分辨率和图像分辨率。

(1). 屏幕分辨率:
例如,屏幕分辨率是1024×768,也就是说设备屏幕的水平方向上有1024个像素点,垂直方向上有768个像素点。
像素的大小是没有固定长度的,不同设备上一个单位像素色块的大小是不一样的。
例如,尺寸面积大小相同的两块屏幕,分辨率大小可以是不一样的,分辨率高的屏幕上面像素点(色块)就多,所以屏幕内可以展示的画面就更细致,单个色块面积更小。而分辨率低的屏幕上像素点(色块)更少,单个像素面积更大,可以显示的画面就没那么细致。

(2). 图像分辨率:
例如,一张图片分辨率是500x200,也就是说这张图片在屏幕上按1:1放大时,水平方向有500个像素点(色块),垂直方向有200个像素点(色块)。
在同一台设备上,图片分辨率越高,这张图片1:1放大时,图片面积越大;图片分辨率越低,这张图片1:1缩放时,图片面积越小。(可以理解为图片的像素点和屏幕的像素点是一个一个对应的)。
但是,在屏幕上把图片超过100%放大时,为什么图片上像素色块也变的越大,其实是设备通过算法对图像进行了像素补足,我们把图片放的很大后看到的一块一块的方格子,虽然理解为一个图像像素,但是其实是已经补充了很多个屏幕像素;同理,把图片小于100%缩小时,也是通过算法将图片像素进行减少。

最后,虽然不同设备上像素块大小会不一样,但是同一台硬件设备上的屏幕分辨率、像素块大小是不会变的。PC电脑上之所以可以调整屏幕分辨率,其实也是通过算法转换了

 转自:https://www.zhihu.com/question/21149600

6.Android中的像素密度,屏幕密度,屏幕大小,分辨率,ldpi,mdpi,xhdpi,xxhdpi

参考:https://blog.csdn.net/u010126792/article/details/86624169

         http://www.zdltech.com/archives/1468.html

发布了120 篇原创文章 · 获赞 23 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qew2017/article/details/104429072