开学到现在一直都在学着去搞明白一个简单的游戏。写完代码之后,发现主界面显示的某些图片比正常的大了许多。
本来以为是代码写错了,反反复复,来来回回的检查代码,真心没有错误。。。崩溃了!!!
后来就尝试着把图片从drawable-mdpi中移动到了hdpi文件夹下,在运行程序的时候,竟然好了!!MyGod,越是简单的东西就越容易出错。也只能怪自己学的不扎实不透彻了。在网上找到一些解释:android为开发者提供了两种解决适配问题的办法,第一种方式是使用dip的单位(dip: device independent pixels(设备独立像素). 
不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素);
另一种是使用不同的drawable文件夹,如下图:-hdpi    近似于240dpi的高级显示密度的屏幕-mdpi    近似于160dpi的中级显示密度的屏幕-ldpi    近似于120dpi的低级显示密度的屏幕-xhdpi   近似于320dpi的超高級顯示密度的屏幕图片缩放比列为 3 :4:6:8   ldpi,mdpi,hdip,xhdipAndroid系統会手机屏幕的大小及屏幕尺寸去选择不同文件夹下的图片资源,以此来实现在不同大小屏幕分辨率下适配的问题。比如在一个低分辨率的手机上,Android就会选择ldpi文件夹下的图片,但是如果没有在ldip的文件夹下找到相关的资源文件,
Android系统会首先从hdpi文件夹中选择文件,然后对图片资源进行缩放处理,显示在屏幕上;如果hdpi文件夹下也没有的话,
会在默认的drawable文件夹中寻找。因此图片放错文件夹的话,就会显示大小不同。如图正常显示的图片:放大后的图片:出现第二个图的原因是将hdpi下的图片放到了默认的文件夹下。本身是同一张图片,由于系统没有在hdpi文件夹中找到对应图片,在默认的文件夹下找到了,但是这时系统会认为该图适用于中等分辨率的屏幕,
如果直接放到高分辨率的手机上不能适配,所以系统会自动的将图片放大,所以虽然是同一张图片,但是现实出来就是一个正常,一个被放大。同理,如果同一张图片,放在ldpi的文件夹下,在低分辨率的手机上显示正常,但是如果放在hdpi文件夹中,系统认为该图是高分辨率显示的,
要将图片缩小处理,所以显示出来的效果就是图变小了。所以才会出现明明是一张图片,只是放在不同的文件夹中,显示出来的效果就不同!

更多相关文章

  1. Android放置图片的三个文件夹
  2. Android之framework修改底部导航栏NavigationBar动态显示和隐藏
  3. Android头像上传(本地相册和调用系统相机)
  4. Android菜单系统介绍
  5. android studio 中aidl文件的使用并且实现跨进程的通信
  6. 又优化了一下Android(安卓)ListView 异步加载图片(续)
  7. android中按钮随单击变换
  8. Android中的Nine-patch图片
  9. Android(安卓)UI设计小知识——按钮背景的制作

随机推荐

  1. android string.xml占位符
  2. Android版本更新代码
  3. android webview 截图快照
  4. Android(安卓)程序调用系统发信息程序
  5. android与pc的socket通信JAVA
  6. android 时间对话框
  7. Android适配器之-----SimpleExpandableLi
  8. Android代码实现关机重启
  9. android ViewPager 指示器 PageIndicator
  10. Android水平列表循环插入数据