如何在Android中合并两个视图

时间:2013-12-01 07:09:14

标签: android scrollview android-ui achartengine

我的要求是在Android中的页面中显示饼图和条形图。为此,我使用以下内容生成两个视图: -

  1. ChartFactory.getBarChartView(getActivity(),buildBarDataset(titles,values),renderer,Type.DEFAULT)

  2. ChartFactory.getPieChartView(getActivity(),categorySeries,defaultRenderer)

  3. 我可以单独显示它们。但我需要在滚动的单个页面中显示两个视图。我怎么能实现这个?

1 个答案:

答案 0 :(得分:2)

只需创建一个类似的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<LinearLayout
    android:id="@+id/view1"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1" />

<LinearLayout
    android:id="@+id/view2"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1" />

</LinearLayout>

在2个变量graph1和graph2中保存调用ChartFactory.getBarChartView()和ChartFactory.getPieChartView()的结果

然后在代码中将2个图表添加到布局

LinearLayout view1 = (LinearLayout)findViewById(R.id.view1);
LinearLayout view2 = (LinearLayout)findViewById(R.id.view2);

view1.removeAllViews();
view1.addView(graph1);

view2.removeAllViews();
view2.addView(graph2);



在我的解决方案中,两个图表都显示在一个页面上如果您希望每个图表填充一个屏幕,这可能会有所帮助: scrollable linearlayout with weights bigger than screen in android