解决新版Eclipse Juno 在Android google 地图 开发时的 地图ViewStyle bug
今天看到Eclipse出新版了,本来是不打算更新的,毕竟老版本用得顺手。
可惜,人的好奇心会害死人。一不小心手贱就更新到了Eclipse Juno。
由于一直在做android开发,所以很快搭好了环境。话说这次插件下载的好快好快,以前憋个三小时才能下好,这次居然五分钟就完工了!太可怕了!
后来发现,其实没变快多少,因为默认只装了2.2和4.1的SDK。
接着,悲剧的一幕发生了,我试着运行自己的毕业设计,一个基于google map的软件,出错!!!
不可能啊,前两天还在旧版Eclipse上调的好好的。之间我完全没动过代码!!!
于是,拼命请教baidu , google 两位大神。可惜一直都没找到答案。
总结下来,网上有这么几种观点:
1.这是新版Eclipse的一个bug
2.只要把Theme设置成Theme.Black就行了(在我这边不行!)
3.这是因为mapView没定义style,只要在style.xml里加上定义,然后在mapView里面声明就行了
values/style.xml
<style name="mapView">
<item name="android:gravity">center</item>
</style>
main.xml:
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="YOUR_API_KEY"
android:visibility="visible"
style="@style/mapView"
/>
这个我也试过了,还是不行。
。。。。。。
最后,我总结出规律了。
1.根据错误提示信息 " Failed to find style 'mapViewStyle' in current theme " 可以知道这个mapView可能需要一个叫mapViewStyle的Style.
2.这个mapViewStyle和Theme有某种关系,很可能对应一种Theme,比如Theme.black
。。。。探索发现的过程是很漫长的。。。。。
经过对Android UI设计的进一步研究,我终于找到解决办法了。
1.在eclipse\android-sdks\platforms\android-X(每个平台都有)\data\res\values\themes.xml中添加一项
2.在 Manifest.xml中添加一项
Theme.NoTitleBar可以根据自己的情况选择,只要二者相同即可。
于是,这个问题就这样被KO了。
总而言之,这其实不算是Eclipse的bug 而是android SDK和新版插件的bug。
爱生活,爱bug,祝大家玩得愉快!