使用XML样式设置AndroidPlot的样式
我正在寻找一种将样式应用于AndroidPlot元素的方法,文档非常稀少。基本上,我想将图形设计元素外部化到styles.xml文件中,但我不确定如何实现。我尝试向Attrs.xml添加一个元素,但没有效果 My activity_main.xml布局文件:使用XML样式设置AndroidPlot的样式,android,android-layout,androidplot,Android,Android Layout,Androidplot,我正在寻找一种将样式应用于AndroidPlot元素的方法,文档非常稀少。基本上,我想将图形设计元素外部化到styles.xml文件中,但我不确定如何实现。我尝试向Attrs.xml添加一个元素,但没有效果 My activity_main.xml布局文件: <com.androidplot.xy.XYPlot android:id="@+id/main_xyplot_main" style="@style/GraphStyle" andr
<com.androidplot.xy.XYPlot
android:id="@+id/main_xyplot_main"
style="@style/GraphStyle"
androidPlot.domainLabel="@string/graph_x_axis"
androidPlot.titleWidget.labelPaint.textSize="@dimen/title_font_size"
androidPlot.domainLabelWidget.labelPaint.textSize="@dimen/domain_label_font_size"
androidPlot.rangeLabelWidget.labelPaint.textSize="@dimen/range_label_font_size"
androidPlot.rangeLabel="@string/graph_y_axis"
androidPlot.title="@string/graph_title"
androidPlot.renderMode="use_background_thread"
androidPlot.graphWidget.rangeLabelPaint.textSize="@dimen/range_tick_label_font_size"
androidPlot.graphWidget.rangeOriginLabelPaint.textSize="@dimen/range_tick_label_font_size"
androidPlot.graphWidget.domainLabelPaint.textSize="@dimen/domain_tick_label_font_size"
androidPlot.graphWidget.domainOriginLabelPaint.textSize="@dimen/domain_tick_label_font_size"
androidPlot.graphWidget.gridLinePaint.color="#000000"
androidPlot.graphWidget.marginBottom="25dp"
androidPlot.graphWidget.marginLeft="20dp"
androidPlot.graphWidget.marginRight="10dp"
androidPlot.graphWidget.marginTop="20dp"
androidPlot.legendWidget.heightMetric.value="25dp"
androidPlot.legendWidget.iconSizeMetrics.heightMetric.value="15dp"
androidPlot.legendWidget.iconSizeMetrics.widthMetric.value="15dp"
androidPlot.legendWidget.positionMetrics.anchor="right_bottom"
androidPlot.legendWidget.textPaint.textSize="10dp"
android:layout_above="@id/main_percentage"
android:gravity="top"
android:visibility="invisible" />
Styles.xml
<style name="GraphStyle">
<item name="android:paddingBottom">0dp</item>
<item name="android:paddingLeft">0dp</item>
<item name="android:paddingRight">0dp</item>
<item name="android:paddingTop">0dp</item>
<item name="android:layout_width">"wrap_content"</item>
<item name="android:layout_height">"wrap_content"</item>
</style>
0dp
0dp
0dp
0dp
“包装内容”
“包装内容”
有没有办法做到这一点?我想把所有这些androidPlot.*都放到GraphStyle中
谢谢 不幸的是,这目前不可能实现。Androidplot被打包为一个Jar,并且(据我所知)不可能包含Jar中使用的可样式化定义。这意味着您将无法覆盖绘图的Androidplot特定字段(以“Androidplot”开头的字段),但仍然可以覆盖来自视图基类的字段(以“Androidplot”开头的字段) 今后,我们将考虑使用.aar而不是.jar作为打包格式。除此之外,这应该让我们在工件中包含可样式化的定义,从而摆脱上述限制。关于这个话题的线索
更新:从0.6.2(当前的开发版本)开始,Androidplot作为.aar提供,可样式化支持有限,但是随着0.6.2的成熟,越来越多的属性被添加。有关详细信息,请参见。仅供参考,自0.6.2起情况已发生变化。我已经更新了我的答案以反映这些变化。谢谢你,尼克。很高兴看到你在这个项目上如此努力。如果我有时间,我会贡献!