Ho un grafico minimalista utilizzando AndroidPlot in un'applicazione e ho cercato di rimuovere elementi visivi estranei. Ho fatto tutto, tranne che non riesco a liberarmi di alcuni spazi vuoti attorno al grafico stesso all'interno della vista. Ecco come si presenta con markup acceso, appena seduto nella vista principale di un'attività:Come rimuovere tutto lo spazio attorno a un grafico in AndroidPlot?
Come posso eliminare lo spazio nero tra i confini del grafico interno e la vista confine esterno? Qui è il mio codice:
mDynamicPlot = (XYPlot) findViewById(R.id.dynamicPlot);
mDynamicPlot.getGraphWidget().setDomainValueFormat(new DecimalFormat("0"));
mDynamicPlot.addSeries(mCpuData, new LineAndPointFormatter(Color.rgb(51, 204, 255), null, Color.rgb(8, 153, 194)));
mDynamicPlot.setDomainStepMode(XYStepMode.INCREMENT_BY_VAL);
mDynamicPlot.setRangeBoundaries(0, 100, BoundaryMode.FIXED);
mDynamicPlot.setDomainStepValue(10);
mDynamicPlot.setRangeStepValue(5.0d);
mDynamicPlot.setRangeValueFormat(new DecimalFormat("#"));
mDynamicPlot.setTicksPerDomainLabel(Integer.MAX_VALUE);
mDynamicPlot.getLayoutManager().remove(mDynamicPlot.getLegendWidget());
mDynamicPlot.getLayoutManager().remove(mDynamicPlot.getRangeLabelWidget());
mDynamicPlot.getLayoutManager().remove(mDynamicPlot.getDomainLabelWidget());
mDynamicPlot.getLayoutManager().remove(mDynamicPlot.getTitleWidget());
mDynamicPlot.getGraphWidget().setMarginTop(10);
mDynamicPlot.setBackgroundPaint(null);
mDynamicPlot.getGraphWidget().setBackgroundPaint(null);
mDynamicPlot.getGraphWidget().setGridBackgroundPaint(null);
mDynamicPlot.getGraphWidget().setDomainLabelPaint(null);
mDynamicPlot.getGraphWidget().setDomainOriginLabelPaint(null);
mDynamicPlot.getGraphWidget().setGridLinePaint(null);
mDynamicPlot.getGraphWidget().setDomainOriginLinePaint(null);
mDynamicPlot.getGraphWidget().setRangeOriginLinePaint(null);
mDynamicPlot.setDrawBorderEnabled(false);
E il mio XML. Il margine destro è di compensare lo spazio lasciato che voglio sbarazzarsi di:
<com.androidplot.xy.XYPlot
android:id="@+id/dynamicPlot"
android:layout_width="fill_parent"
android:layout_height="150dp"
android:layout_marginTop="16dp"
android:layout_marginRight="10dp"
title="Dynamic Plot" />
Niente di quello che faccio in XML sembra interessare i limiti interni, compresa la modifica la gravità di layout racchiude. Ho anche provato questi, senza alcun risultato:
mDynamicPlot.getRangeLabelWidget().setHeight(0);
mDynamicPlot.getRangeLabelWidget().setPadding(0, 0, 0, 0);
mDynamicPlot.getRangeLabelWidget().setMargins(0, 0, 0, 0);
mDynamicPlot.getLegendWidget().setSize(new SizeMetrics(0, SizeLayoutType.ABSOLUTE, 0, SizeLayoutType.ABSOLUTE));
mDynamicPlot.getRangeLabelWidget().setSize(new SizeMetrics(0, SizeLayoutType.ABSOLUTE, 0, SizeLayoutType.ABSOLUTE));
mDynamicPlot.getDomainLabelWidget().setSize(new SizeMetrics(0, SizeLayoutType.ABSOLUTE, 0, SizeLayoutType.ABSOLUTE));
Che cosa devo fare per sbarazzarsi di tutto quello spazio nero?
Funziona come un incanto, grazie! –
Come posso chiamare questo metodo '' lm.position'? –
In Androidplot 0.6, "LayoutManager [non è più utilizzato] (https://groups.google.com/d/msg/androidplot/941oGrWTi_I/OfTDVeoBl6cJ) per il posizionamento x/y dei Widget, invece ogni Widget è responsabile della sua il proprio posizionamento e quindi i metodi LayoutManager.position (...) sono ora disponibili come metodi Widget.position (...) ". Quindi il codice corrispondente dovrebbe essere 'gw.position (0, XLayoutStyle.ABSOLUTE_FROM_LEFT, 0, YLayoutStyle.ABSOLUTE_FROM_TOP);' – ehartwell