Android 如何设置当前主题的边距颜色?
设置新主题后,AChartEngine不再考虑来自主题的默认背景。我多次尝试解决这个问题,但都没有成功。我需要做什么Android 如何设置当前主题的边距颜色?,android,achartengine,Android,Achartengine,设置新主题后,AChartEngine不再考虑来自主题的默认背景。我多次尝试解决这个问题,但都没有成功。我需要做什么 styles.xml中的设置: res/values/styles.xml: <style name="AppTheme" parent="android:Theme.Holo.Light" /> res/values-v11/styles.xml: <style name="AppTheme" parent="android:Theme.Light" />
styles.xml
中的设置:
res/values/styles.xml: <style name="AppTheme" parent="android:Theme.Holo.Light" />
res/values-v11/styles.xml: <style name="AppTheme" parent="android:Theme.Light" />
res/values/styles.xml:
res/values-v11/styles.xml:
舱单的一部分:
<application
...
android:theme="@style/AppTheme" >
示例代码:
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
dataset.addSeries(timeSeries);
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
renderer.setAxesColor(Color.GRAY);
renderer.setAxisTitleTextSize(16);
renderer.setChartTitle(label);
renderer.setChartTitleTextSize(20);
renderer.setGridColor(Color.GRAY);
renderer.setLabelsColor(Color.LTGRAY);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
renderer.setMargins(new int[] {
20, 30, 15, 0
});
renderer.setPointSize((float) 5.0);
renderer.setShowGrid(true);
renderer.setXLabels(10);
renderer.setXTitle(getString(R.string.txt_datum));
renderer.setYLabels(10);
renderer.setYTitle(MyPreferenceActivity.getWaehrung());
renderer.setZoomButtonsVisible(true);
int[] colors = new int[] {
Color.RED
};
PointStyle[] pointStyles = new PointStyle[] {
PointStyle.POINT
};
for (int i = 0; i < colors.length; i++) {
XYSeriesRenderer tempRenderer = new XYSeriesRenderer();
tempRenderer.setColor(colors[i]);
tempRenderer.setPointStyle(pointStyles[i]);
renderer.addSeriesRenderer(tempRenderer);
}
GraphicalView graphicalView = ChartFactory.getTimeChartView(this,
dataset, renderer, null);
layout.addView(graphicalView, new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
xymultiplesseriesdataset数据集=新的xymultiplesseriesdataset();
dataset.addSeries(timeSeries);
XYMultipleReseriesRenderer渲染器=新的XYMultipleReseriesRenderer();
渲染器.setAxesColor(Color.GRAY);
setAxisTitleTextSize(16);
渲染器.setChartTitle(标签);
渲染器.setChartTitleTextSize(20);
renderer.setGridColor(Color.GRAY);
渲染器.setLabelsColor(Color.LTGRAY);
setLabelsTextSize(15);
渲染器。setLegendTextSize(15);
renderer.setMargins(新的int[]{
20, 30, 15, 0
});
渲染器设置点大小((浮点)5.0);
renderer.setShowGrid(true);
setXLabels(10);
setXTitle(getString(R.string.txt_datum));
1.setYLabels(10);
setytle(MyPreferenceActivity.getWaehrung());
renderer.setZoomButtonsVisible(true);
int[]颜色=新int[]{
颜色:红色
};
PointStyle[]pointStyles=新的PointStyle[]{
PointStyle.POINT
};
for(int i=0;i
结果图像。错误的黑色背景从何而来
您可能应该手动设置图表背景
renderer.setApplyBackgroundColor(true);
renderer.setBackgroundColor(color);
是的,可能是一个bug,AChartEngine不再尊重来自主题的默认背景。可能的解决方案是设置边距颜色
renderer.setMarginsColor(Color.WHITE);
看
和