最近在做一个android的游戏,遇到android 中的多屏幕适应问题。众所周知android有很多型号的屏幕,在模拟器中就有320*480,240*320,480*800等几种。那么如何使自己的程序适应不同分辨率的屏幕就成为一个开发者不得不考虑的问题。
那么到底如何设计自己的程序呢?我所想有如下几种方案。
1、每一个分辨率都给一组图片 这种方案的缺点也很明显 需要占用太大的空间因此基本是不用的,也可以有选择性的适应几种屏幕 这样占用的空间会相应的减少。
2、使用9patch 9patch是一个android自带的图片处理工具。大家可以查一下用法,9patch可以用于button等的背景。当button的size变化的时候图片会自动适应变化。
3、使用相对布局的概念。 这个也是我在游戏里采用的一种方法。将屏幕坐标定位20*30(可以自己任意改)这时在宽度上和高度上的比率就是16,然后在程序里使用相对坐标 这样当屏幕改变了大小的时候 我的相对坐标不变那么在画面里的组件就会动态的适应变化了。这时候如果使用一组图片在缩放的时候有可能会出现失真的情况。所以 我将图片分为两组 height<=480 和height>480 使用两组图片那么失真就不会那么严重了。
每一个程序都有其独特之处,不能说一种方法适用于全部。在实际的开发中还得根据实际,改变自己的程序。这种多屏幕适应问题或许还有更好的解决方法,我仅仅是抛砖引玉。鄙人是菜鸟 不恰当的地方大家忽视掉就可以了