0

我有一个具有 LinearLayout 的活动,我将图表放入其中:

...
mChart = ChartFactory.getCubeLineChartView(this, mDataset, mRenderer, 0.3f);
graphActivityLayout.addView(mChart, 1);

这填满了我的整个布局。如何指定图表的尺寸?我还没有找到任何方法来做到这一点。

我的onResume方法检查 mChart 是否为空,如果不是,则在其上调用 repaint,否则设置图表数据并执行上述代码段。与我的问题无关。

4

2 回答 2

1

据我所知,图表视图的布局尺寸默认设置为“FILL_PARENT”。这通常会占用线性布局的所有空间并隐藏同一布局中的其他视图。如果您在布局中只有另一个视图(我猜在您的代码片段中的位置 0),其布局宽度/高度设置为“WRAP_CONTENT”,则为图表视图设置任意非零权重就足够了. 这告诉线性布局使用剩余空间,而不是使用所有空间:

graphActivityLayout.addView(mChart, 1);
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) mChart.getLayoutParams();
layoutParams.weight = 1; 
于 2013-10-12T17:41:12.690 回答
0

我添加了一个新的 LinearLayout 来包装我的图表,并将其高度设置为所需的高度。

于 2013-10-12T20:09:33.977 回答