Как удалить отступы со всех сторон (включая верхнюю и нижнюю) горизонтальной диаграммы (MPAndroidChart)?
Я пытаюсь создать HorizontalBarChart, который охватывает весь родительский макет (LinearLayout
внутри ConstraintLayout
). Вот мой код:
public static HorizontalBarChart horizontalBarChartSet(Context context, HorizontalBarChart mChart, float value) {
mChart.setDrawValueAboveBar(false);
mChart.getDescription().setEnabled(false);
mChart.setPinchZoom(false);
mChart.setDrawGridBackground(false);
//Vertical Axis
mChart.getXAxis().setEnabled(false);
//Horizontal Axis 1
YAxis yl = mChart.getAxisLeft();
yl.setDrawAxisLine(false);
yl.setDrawGridLines(false);
yl.setDrawLabels(false);
yl.setAxisMinimum(0f);
yl.setAxisMaximum(100f);
//Horizontal Axis 2
YAxis yr = mChart.getAxisRight();
yr.setDrawAxisLine(false);
yr.setDrawGridLines(false);
yr.setDrawLabels(false);
yr.setAxisMinimum(0f);
yr.setAxisMaximum(100f);
//Data
ArrayList<BarEntry> values = new ArrayList<BarEntry>();
values.add(new BarEntry(0, value));
BarDataSet set = new BarDataSet(values, "");
ArrayList<IBarDataSet> dataSets = new ArrayList<IBarDataSet>();
dataSets.add(set);
BarData data = new BarData(dataSets);
mChart.setData(data);
//Highlight
data.setHighlightEnabled(false);
//Bar
data.setBarWidth(0.8f);
mChart.setFitBars(true);
//Legend
mChart.getLegend().setEnabled(false);
//General
mChart.setViewPortOffsets(0f,0f,0f,0f);
mChart.setExtraOffsets(0f, 0f, 0f, 0f);
//Animate
mChart.animateY(2500);
return mChart;
}
с помощью setViewPortOffsets(0f,0f,0f,0f);
хотя удалите отступы слева и справа, но все еще есть некоторые отступы сверху и снизу, и когда я касаюсь панели, отступы слева и справа также возвращаются к значениям по умолчанию.
XML представления:
<android.support.constraint.ConstraintLayout
android:id="@+id/constraintLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintVertical_bias="0.0">
<com.github.mikephil.charting.charts.HorizontalBarChart
android:id="@+id/percentage"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</android.support.constraint.ConstraintLayout>
Вот скриншоты: Посмотрите на продукт питания ListView
1 ответ
Пожалуйста, попробуйте
mChart.invalidate();
После добавления HorizontalBarChart
в данных.