我正在尝试在android中创建一个条形图,其中每个条形图由一个View
和一个TextView
组成。
我将这些单元格添加到HorizontalScrollView
。这很好用,我的所有栏都出现了。
现在我想通过将它们乘以一个因子来调整这些条形的大小(因为它们现在都显示为全高)。
这是我使用的活动类。
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
变量。这是我想要将高度乘以的变量。
我试图将initChart
中膨胀的RelativeLayout的LayoutParams的高度相乘,但是在onCreate()中调用它的高度属性不正确。
那么如何确保我添加到我的View中的膨胀的RelativeLayout的高度与从c
(c.getPercentage()
)