在drawable中的图片在不同密度的设备上显示时,在屏幕上的占比是不一样的。
如:160px的图片,在800x480的屏幕上显示:
密度是:
160dpi时,占屏幕的三分之一 (=160px/480px)。
240dpi时,占屏幕的二分之一(>160px/480px)。
如何保持图片在不同密度的设备上,图片显示相同的像素数?
方法A:
为不同密度的设备,准备相应的图片,放在对应的drawable-?dpi中。
优点:可以为不同密度的设备,准备对应密度的图片,可以做到图片在哪种密度上都很清晰细腻。
缺点:图片比较多,增加图片制作的工作量;
方法B:
只准备一组图片,将图片放到drawable-nodpi中。
优点:减少了图片的数量;
确定:图片可能被拉伸而导致不细腻;
方法C:
使用px指定图片的大小
理解DPI
是密度density的测量单位,dots per inch 每英寸内的像素数。
理解DIP
是指定大小的单位,device independent pixels设备独立像素,应该是Density-independent pixel 即与设备的密度无关,有DIP指定的控件大小,在不同密度的设备上,显示的大小相仿。
pixels = dip * (density / 160).
注:显示图片的大小与图片本身的dpi没有关系。
分享到:
相关推荐
此外,系统图片资源还支持多种分辨率,包括hdpi、xhdpi、xxhdpi和xxxhdpi,以适应不同屏幕尺寸和像素密度的设备。确保正确选择对应的图片资源,可以避免因图片缩放产生的模糊或失真问题。 总之,`android.R....
在Android开发中,让应用程序能够自动适应不同尺寸和分辨率的屏幕是一项重要的任务。"android自动适应屏幕源码.zip"这个压缩包很可能包含了实现这一功能的示例代码和资源。让我们深入探讨一下Android如何进行屏幕...
下面我们将详细探讨Android中的屏幕适配策略和相关技术。 1. **屏幕尺寸与密度** Android设备具有多种屏幕尺寸,如小、中、大、超大,以及不同的像素密度(低、中、高、超高密度)。开发者需要为这些不同的屏幕...
这个压缩包包含了一些关键的资源和代码示例,帮助我们理解如何在Android中实现屏幕适配。 首先,Android系统提供了多种布局尺寸支持,如small、normal、large和xlarge,以及hdpi、mdpi、xhdpi等不同的密度。源码中...
在Android开发中,让应用程序能够自动适应不同尺寸和分辨率的屏幕是一项重要的任务。"Android自动适应屏幕源码.zip"这个压缩包很可能包含了实现这一功能的示例代码和资源。源码学习是提升开发者技能的有效途径,它能...
总结起来,"Android点击屏幕更换图片源码"涉及的关键知识点包括:Android图片资源管理、用户事件监听(OnClickListener)、图片更换逻辑以及可能的动画效果实现。通过分析和理解这个源码,开发者可以增强对Android ...
在Android应用开发中,适配不同的屏幕密度是至关重要的,因为Android设备的屏幕尺寸和分辨率千差万别。"Android-gendpi" 是一个工具,它可以帮助开发者根据不同的屏幕密度(DPI)自动生成适配的像素(px)尺寸。这个...
本资源包“Android图片资源.zip”显然包含了一系列与Android平台相关的图像文件,非常适合Android开发者用于应用程序的设计和开发。这些图片可能涵盖各种类型,包括图标、背景、按钮、广告横幅等,旨在满足不同场景...
- Android设备屏幕尺寸和密度各异,源码应考虑不同设备的适配,合理调整图片显示大小。 9. **图片预加载** - 在用户滚动图片列表时,预加载临近的图片,提高用户体验。 10. **图片格式支持** - Android支持多种...
8. **图片尺寸适配**:根据设备的屏幕分辨率和密度,动态调整图片尺寸,避免加载过大或过小的图片,以节省资源并提高显示效果。 通过分析这个压缩包中的源码,我们可以深入理解这些概念,并且学习如何在实际项目中...
为了适应不同分辨率的设备,可以使用Android的密度无关像素(dp)单位来设置按钮大小,同时使用不同的图片尺寸(例如hdpi, mdpi, xhdpi等)来保证在各种屏幕尺寸上显示清晰。 7. **触摸反馈**: Android系统提供...
2. **图片解码**:根据设备屏幕密度和视图大小调整图片大小,降低内存占用。 3. **缓存策略**:自动管理内存和磁盘缓存,包括缓存的大小限制和过期策略。 4. **占位符与错误图**:在图片加载过程中显示占位符,加载...
下面我们将深入探讨Android中常见的图片特效处理技术和应用场景。 1. 图片加载库:Android开发中,我们常常使用第三方库如Glide、Picasso或 Fresco来高效地加载和显示图片。这些库提供了缓存机制、网络请求、图片...
本教程将聚焦于"Android实现图片边缘拉伸"这一主题,通过分析提供的`ImageSplitter.java`源代码,我们将深入理解如何在Android中实现图片的边缘拉伸效果。 首先,边缘拉伸通常用于实现视图的动态扩展,例如,当用户...
1. **屏幕密度与尺寸** Android设备有多种屏幕尺寸和密度,例如小型、正常、大型、超大型以及低密度(ldpi)、中密度(mdpi)、高密度(hdpi)、超高密度(xhdpi)等。为了确保应用在不同设备上显示一致,我们需要...
8. **.9图片在Android开发中的应用**:在Android布局文件中,使用`<ImageView>`或`<Background>`标签引用.9图片资源,系统会根据指定的拉伸区域自动调整图像大小,以适应各种设备和屏幕分辨率。 通过以上介绍,你...
本资料提供了一个关于Android图片缓存和加载器的源码实例,可以帮助开发者深入理解相关机制并进行实践。下面我们将详细探讨这个主题。 一、图片缓存 1. 内存缓存:Android应用中,图片通常会被存储在内存中以加快...
控件可能也考虑了不同屏幕尺寸和分辨率的适配,采用百分比布局或者基于屏幕密度的尺寸单位,使得图片可以在各种设备上正常显示。 9. **手势冲突处理** 当多个手势同时发生时,控件需要正确处理这些冲突。例如,...