Я пытаюсь создать гистограмму в android, где каждая панель состоит из одного View
и одного TextView
. Я добавляю эти ячейки в HorizontalScrollView
. Это прекрасно работает, появляются все мои бары.Элементы resize на гистограмме умножаются с коэффициентом
Теперь я хочу изменить размеры этих баров (поскольку они теперь все появляются на полной высоте), умножив их с коэффициентом.
Это класс активности, который я использую.
private ViewGroup linearScrollLayout;
private HorizontalScrollView hScrollView;
private ArrayList<NutrientCell> nutrientsData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.box_plot);
this.hScrollView = (HorizontalScrollView) findViewById(R.id.horizontalScrollView1);
this.linearScrollLayout = (ViewGroup) this.hScrollView
.findViewById(R.id.linearScrollLayout);
try {
Intent intent = getIntent();
this.nutrientsData = (ArrayList<NutrientCell>) intent
.getSerializableExtra("nutrientsData");
//
} catch (Exception e) {
// TODO: handle exception
}
this.initChart();
}
private void initChart() {
for (NutrientCell c : this.nutrientsData) {
RelativeLayout rlt = (RelativeLayout) getLayoutInflater().inflate(
R.layout.hv_boxplot_cell, this.linearScrollLayout, false);
((TextView) rlt.findViewById(R.id.textView1)).setText(c
.getNutrientName().toString());
View v = ((View) rlt.findViewById(R.id.vv1));
v.setBackgroundColor(c.getColor());
this.linearScrollLayout.addView(rlt);
}
}
В настоящее время, в петле, найденной в initChart()
я перебор всех элементов в ArrayList
, каждый из которых имеет переменную percentage
. Это переменная, с которой я хотел бы умножить высоту. Я попытался просто умножить высоту LayoutParams надутого RelativeLayout, найденного в initChart
, но поскольку это вызывается в onCreate(), его свойство высоты неверно.
Так как я могу убедиться, что раздутый RelativeLayout добавить в мой взгляд, имеет высоту, соответствующий процент полученного от c
(c.getPercentage()
)