要求:
在 listView 中添加饼图。
采取的方法:创建一个自定义列表适配器并有一个线性布局,它是饼图的占位符。在运行时使用 achartEngine 创建饼图并将其附加到占位符。
问题:现在当我滚动饼图的大小时,会发生不需要的变化。
原因可能是由于 listview 动态生成视图,因此适配器的自定义布局中的 LinearLayout 可用的大小在滚动时会发生变化,因此当我使用 fill_parent 参数附加饼图视图时,大小会发生变化。
- 编辑 -
适配器布局
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#A0FAF8CC"
android:orientation="horizontal"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:baselineAligned="false" >
<LinearLayout
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:orientation="vertical" >
<TextView
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="end"
android:gravity="left"
android:paddingLeft="10dp"
android:text="@string/shopping"
android:textColor="@android:color/black"
android:textStyle="bold" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:gravity="left"
android:text="@string/budget"
android:paddingLeft="10dp"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/allTotalTypeBudget"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="right"
android:textColor="@android:color/black"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:gravity="left"
android:paddingLeft="10dp"
android:text="@string/expense"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/expenseTotalTypeBudget"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="right"
android:textColor="@android:color/black"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:gravity="left"
android:paddingLeft="10dp"
android:text="@string/remaining"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/remainingTotalTypeBudget"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="right"
android:textColor="@android:color/black"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/chartView"
android:layout_width="0px"
android:layout_height="fill_parent"
android:layout_weight="0.50"
android:clickable="false"
android:gravity="center" >
</LinearLayout>
</LinearLayout>