2014-01-23 2 views
1

Я пытаюсь создать гистограмму в 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())

ответ

0

Что именно процент используется для? Если процент используется для масштабирования представления на основе его начального размера, вы, вероятно, можете использовать метод setScaleY() вида, чтобы изменить его высоту.