通过乘以因子来调整条形图中的元素大小

时间:2014-01-23 08:35:41

标签: android android-layout horizontalscrollview oncreate

我正在尝试在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的高度与从cc.getPercentage()

获得的百分比相对应

1 个答案:

答案 0 :(得分:0)

用于什么百分比?如果百分比用于根据视图的初始大小缩放视图,则可以使用视图的setScaleY()方法来更改视图的高度。