Mam minimalistyczną tabelę przy użyciu aplikacji androidPlot w aplikacji i próbuję usunąć nieistotne elementy wizualne. Mam wszystko gotowe, tyle że nie mogę pozbyć się pustych miejsc wokół samego wykresu w widoku. Oto jak to wygląda z markup włączone, tylko siedzi w widoku głównym prowadzonej działalności:Jak usunąć całą przestrzeń wokół wykresu w AndroidPlot?
Jak mogę wyeliminować czarną przestrzeń pomiędzy wewnętrznymi granicami wykresu i zewnętrznej granicy widzenia? Oto mój kod:
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);
I mój XML. Prawy margines jest przesunięcie w lewo miejsca, którego chcę się pozbyć:
<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" />
Nic nie mogę zrobić w XML wydaje się wpływać na wewnętrzne granice, w tym zmianę wagi układu zakrywające. Próbowałem też mają te, bez skutku:
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));
Co muszę zrobić, aby pozbyć się całej tej czarnej przestrzeni?
Działa jak czar, dzięki! –
Jak mogę nazwać tę metodę 'lm.position'? –
W Androidplot 0.6, "LayoutManager [już nie jest używany] (https://groups.google.com/d/msg/androidplot/941oGrWTi_I/OfTDVeoBl6cJ) do ustawiania widgetów X/Y w Widgetach, zamiast tego każdy Widget odpowiada za jego własne pozycjonowanie, a tym samym metody LayoutManager.position (...) są teraz dostępne jako metody Widget.position (...) ". Tak więc odpowiedni kod powinien mieć postać 'gw.position (0, XLayoutStyle.ABSOLUTE_FROM_LEFT, 0, YLayoutStyle.ABSOLUTE_FROM_TOP);' – ehartwell