最近写了一个针对android2.2的小游戏,放到google market以后发现还有一些系统版本为1.5,1.6的人下载。放到模拟器上一测发现竟然都不能启动。在网上查了半天,终于解决了问题。写下来留个记录。
1,修改BACK键的响应方式。
2.0以前,BACK键在onKeyDown中响应。
2.0以后,BACK键在onBackPressed中响应。
为了支持2.0以前的系统就直接加了一下函数。比较好的方式是在自己所有的Activity之上建一个共同的父类。那样的话修改起来会比较容易。
public boolean onKeyDown(int keyCode, KeyEvent event) {
// back key
if (keyCode == KeyEvent.KEYCODE_BACK) {
onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
注:onBackPressed方法上面不要加[@Override]注释。
2,修改layout中的填充父区域的属性值
2.0以前,为fill_parent
2.0以后,fill_parent,match_parent都支持
所以我统统改称了[fill_parent]
3,启动时异常
该了上面两点后,在1.5中启动还是会报下面的异常。
ERROR/AndroidRuntime(803): Caused by: java.io.FileNotFoundException: res/drawable/title_bar_shadow.9.png
最后发现原来只要在res下直接建一个drawable目录然后将需要的图片考进去就可以了。更[title_bar_shadow.9.png]一点关系也没有。
1,修改BACK键的响应方式。
2.0以前,BACK键在onKeyDown中响应。
2.0以后,BACK键在onBackPressed中响应。
为了支持2.0以前的系统就直接加了一下函数。比较好的方式是在自己所有的Activity之上建一个共同的父类。那样的话修改起来会比较容易。
public boolean onKeyDown(int keyCode, KeyEvent event) {
// back key
if (keyCode == KeyEvent.KEYCODE_BACK) {
onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
注:onBackPressed方法上面不要加[@Override]注释。
2,修改layout中的填充父区域的属性值
2.0以前,为fill_parent
2.0以后,fill_parent,match_parent都支持
所以我统统改称了[fill_parent]
3,启动时异常
该了上面两点后,在1.5中启动还是会报下面的异常。
ERROR/AndroidRuntime(803): Caused by: java.io.FileNotFoundException: res/drawable/title_bar_shadow.9.png
最后发现原来只要在res下直接建一个drawable目录然后将需要的图片考进去就可以了。更[title_bar_shadow.9.png]一点关系也没有。