在开发Android
使用Rickshaw绘制图表的应用程序时,我遇到了这个奇怪的问题:在 Galaxy Nexus S(具有 OS 4.0.4)上,图表绘制完美,而在摩托罗拉 Defy(CyanogenMod7,具有 OS 2.3.7)上却可以不是。这可能是操作系统版本问题吗?谁能帮我这个?
这是代码:
public class RickshawTestActivity extends Activity {
private WebView webView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
webView = new WebView(this);
webView.getSettings().setJavaScriptEnabled(true);
setContentView(webView);
webView.loadUrl("file:///android_asset/chart.html");
}
}
这是assets/chart.html
<!doctype>
<script src="vendor/d3.min.js"></script>
<script src="vendor/d3.layout.min.js"></script>
<script src="rickshaw.min.js"></script>
<div id="chart"></div>
<script>
var data = [ {
x : 1910,
y : 92228531
}, {
x : 1920,
y : 106021568
}, {
x : 1930,
y : 123202660
}, {
x : 1940,
y : 132165129
}, {
x : 1950,
y : 151325798
}, {
x : 1960,
y : 179323175
}, {
x : 1970,
y : 203211926
}, {
x : 1980,
y : 226545805
}, {
x : 1990,
y : 248709873
}, {
x : 2000,
y : 281421906
}, {
x : 2010,
y : 308745538
} ];
var graph = new Rickshaw.Graph({
element : document.querySelector("#chart"),
width : 580,
height : 250,
series : [ {
color : 'steelblue',
data : data
} ]
});
graph.render();
</script>
数据有效,所有引用的.js
文件都找到了。这也适用于我的 Mozilla 13 浏览器。
谢谢
编辑:
我还在不同的模拟器上测试了这段代码,并得出结论,上面的代码只适用于 3.0 及更高版本的操作系统。在 3.0 以下的操作系统版本上,这不起作用。
现在我怎样才能让它工作?谢谢
编辑: 我需要一个跨平台的库。