我正在寻找一种将样式应用于AndroidPlot元素的方法,而且文档非常缺乏。基本上,我想将图形设计元素具体化到我的styles.xml文件中,但是我不知道如何做到这一点。我尝试过在Attrs.xml中添加一个元素,但没有结果。
我的activity_main.xml布局文件:
<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>有办法这样做吗?我想把所有的雄激素put .*放进GraphStyle。
谢谢!
发布于 2014-05-08 16:11:25
不幸的是,目前不可能做到这一点。Androidplot被打包为jar,并且(据我所知)不可能包含Jar中使用的可样式定义。这意味着您将无法覆盖图中特定于android的字段(以“Androidplot”开头的字段),但仍然可以覆盖来自视图基类的字段(以“android”开头的字段)。
展望未来,我们正在考虑使用.aar而不是.jar作为打包格式。除其他外,这应该允许我们在工件中包含可样式的定义,从而消除上述限制。这里有一个链接到该主题的线程。
更新:从0.6.2 (当前的开发版本)起,Androidplot就可以作为一个.aar,提供有限的样式支持,但是随着0.6.2的成熟,越来越多的属性被添加进来。详情请参见这条线。
https://stackoverflow.com/questions/23459894
复制相似问题