我正在尝试创建覆盖整个父布局的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的食物项目
答案 0 :(得分:0)
mChart.invalidate();
在数据中添加HorizontalBarChart
后。