android中不同尺寸的图片适配手机问题
展开全部
在运行时,程序为最佳显示效果提供了三种方法:
1.图片缩放
基于当前屏幕的 精度,平台自动加载任何未经缩放的限定尺寸和精度的图片。如果图片不匹配,平台会加载默认资源并且在放大或者缩小之后可以满足当前界面的显示要求。例如, 当前为高精度屏幕,平台会加载高精度资源(如图片),如果没有,平台会将中精度资源缩放至高精度。
2.自动定义像素尺寸和位置
如果程序不支持多种精度屏幕,平台会自动 定义像素绝对位置和尺寸值等,这样就能保证元素能和精度160的屏幕上一样能显示出同样尺寸的效果。
3.兼 容更大尺寸的屏幕
当前屏幕超过程序所支持屏幕的上限时,定义supports- screens元素,这样超出显示的基准线时,平台在此显示黑色的背景图。例如,WVGA 中精度屏幕上,如程序不支持这样的大屏幕,系统会谎 称是一个320×480的,多余的显示区域会被填充成黑色。
1.图片缩放
基于当前屏幕的 精度,平台自动加载任何未经缩放的限定尺寸和精度的图片。如果图片不匹配,平台会加载默认资源并且在放大或者缩小之后可以满足当前界面的显示要求。例如, 当前为高精度屏幕,平台会加载高精度资源(如图片),如果没有,平台会将中精度资源缩放至高精度。
2.自动定义像素尺寸和位置
如果程序不支持多种精度屏幕,平台会自动 定义像素绝对位置和尺寸值等,这样就能保证元素能和精度160的屏幕上一样能显示出同样尺寸的效果。
3.兼 容更大尺寸的屏幕
当前屏幕超过程序所支持屏幕的上限时,定义supports- screens元素,这样超出显示的基准线时,平台在此显示黑色的背景图。例如,WVGA 中精度屏幕上,如程序不支持这样的大屏幕,系统会谎 称是一个320×480的,多余的显示区域会被填充成黑色。
2015-01-04 · 知道合伙人软件行家
关注
展开全部
其实不需要分这么细的,只要你在
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-xxhdpi
都有图片,加上代码上不能写死控件大小,基本上的手机都可以适配的
当然,android3.2以上操作系统支持精确适配
你可以这样写
layout-800x480
drawable-800x480
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-xxhdpi
都有图片,加上代码上不能写死控件大小,基本上的手机都可以适配的
当然,android3.2以上操作系统支持精确适配
你可以这样写
layout-800x480
drawable-800x480
更多追问追答
追问
额,那我是在这这些文件中加入不同尺寸的图片,还是都加入同一个尺寸的
额,那我是在这这些文件中加入不同尺寸的图片,还是都加入同一个尺寸的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Android 是用 dpi 作为单位,你随便选择一个图片,在Win下面右键就会看到以dpi为单位的属性,dpi越高图片也就越精细。对于手机或显示设备来说,一个像素就是一个点,所以dpi=ppi,反过来,经常说的手机屏幕ppi高低数字等同于写程序时候考虑的dpi数值。
iPhone视网膜屏幕是326ppi,属于ldpi mdpi hdpi xhdpi的最后xhdpi(大约320ppi),后来的Android手机大抵也都这个数值,往上也没什么意义,反正你眼睛看不出来,处于能省尽量省的原则,图片都用xhdpi算了,低ppi的手机自个儿系统处理的了。
所以手机来说,同一种高宽比的话你只要写normal的布局。
分辨率有未来主流的16:9和当下主流的15:9 两种。
手机布局应该写2个,但是当下貌似没有办法(除非代码里判断)根据高宽比选择特定布局。
res/layout/my_layout.xml
res/drawable-xhdpi/my_icon.png
Google 本意是想一个apk同时跑在手机和平板上,方便共用代码,但是我感觉明显同样的程序手机和平板的功能肯定会有不同的,大屏幕的可能性要比小屏幕大吧,而且各种界面布局+代码都有,放一个项目里反而感觉乱,还不如 iOS 那种平板的应用出个专门的 HD 版本。这种混合的策略很容易导致手机版本被装上平板,然后就碰到了难看变形的界面(我知道是可以声明针对特定屏幕,但是人家不一定会设置的,其中又牵扯到 Screen Compatibility Mode),这样的体验很糟糕的。
iPhone视网膜屏幕是326ppi,属于ldpi mdpi hdpi xhdpi的最后xhdpi(大约320ppi),后来的Android手机大抵也都这个数值,往上也没什么意义,反正你眼睛看不出来,处于能省尽量省的原则,图片都用xhdpi算了,低ppi的手机自个儿系统处理的了。
所以手机来说,同一种高宽比的话你只要写normal的布局。
分辨率有未来主流的16:9和当下主流的15:9 两种。
手机布局应该写2个,但是当下貌似没有办法(除非代码里判断)根据高宽比选择特定布局。
res/layout/my_layout.xml
res/drawable-xhdpi/my_icon.png
Google 本意是想一个apk同时跑在手机和平板上,方便共用代码,但是我感觉明显同样的程序手机和平板的功能肯定会有不同的,大屏幕的可能性要比小屏幕大吧,而且各种界面布局+代码都有,放一个项目里反而感觉乱,还不如 iOS 那种平板的应用出个专门的 HD 版本。这种混合的策略很容易导致手机版本被装上平板,然后就碰到了难看变形的界面(我知道是可以声明针对特定屏幕,但是人家不一定会设置的,其中又牵扯到 Screen Compatibility Mode),这样的体验很糟糕的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不同分辨率的图片分别放到drawable-hdpi,drawable-mdpi, drawable-xhdpi等
更多追问追答
追问
刚刚我截图的图片中,差不多都是高分辨的,这个怎么放?
追答
就中间那个是android标准的分辨率即1920x1080,1920x1152这个是魅族的手机分辨率吧,这个你在百度搜一下吧,这个就不清楚了,魅族的分辨率很奇葩的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询