问题描述
- Android屏幕适配问题,菜鸟求助
-
如题, 本人菜鸟不知道怎么屏幕适配呀, 我用的是demin建立了两个文件, 一个是(1280x720的),另外一个是1920x1080的. 在里面写的尺寸.因为我们美工给我的图片都是px的. 换算如下
解决方案
做android开发,开源嘛,满市场都是凌乱的机型,总少不了适配这样或那样的型号。在这里分享一下自己在开发中用到的方法。
首先要介绍一下drawable-mdpi、drawable-hdpi-1280x800、drawable-hdpi。这个相信好好看一下也明白。就是代表着分辨率 320X480、1280X800、480X800三款屏幕图片资源包。其实适配也很多。我大致说一种就行,其他大家慢......
答案就在这里:关于android屏幕适配问题
解决方案二:
美工给出了46px这个间距,你需要把它转换为dp,但是你知道美工给出的整张图是xhdpi还是xxhdpi吗?
- 如果美工给出的整张图是xhdpi,那么1280*720这个dimen文件中的值为:46/2=23dp;
至于1920*1080这个dimen文件中的值,就需要美工出一张1920*1080的图,如果图中这个间距为apx,则dimen文件中的值为:a/3dp。
- 如果美工给出的整张图是xxhdpi,那么1920*1080这个dimen文件中的值为:46/3=15.33dp;
至于1280*720这个dimen文件中的值,就需要美工出一张1280*720的图,如果图中这个间距为bpx,则dimen文件中的值为:b/2dp。
那么你会问,难道美工需要出1280*720和1920*1080两套图吗?
我实际是这样做的:美工只出一套图,1280*720或1920*1080随便美工,我根据图中的px计算出dp写入dimen文件,我一般只用一个dimen文件。
那么怎么保证在1280*720和1920*1080两种手机上适配呢?
举例来说:1280*720和1920*1080之间是2 : 3的关系,所以如果美工在前者上画出46px,写入dimen文件就是46/2=23dp;那么在后者上应该画出46/2*3=69px,写入dimen文件就是69/3=23dp。
到底除以几,就按照http://androidpixels.net这个网站了。
通过上面的例子,你就可以知道为什么美工只需要画一套图了。
既然如此,安卓何来适配之说呢?这个其实我也不太清楚,我个人的看法是:因为手机太多了,手机的主流分辨率虽然就几种,但是屏幕的尺寸却有很多种,比如1280*720,可以是5寸、可以是5.5寸,也可以是6寸;还有就是,有一些非主流的分辨率。
具体是否需要适配,就需要测试团队在不同分辨率、不同尺寸的手机上看实际的实现效果,效果不理想的就需要适配了。
对于你的这个问题,我也同问,还请有更多经验的人来解答。