对于piechart在scrollview里面视图没有展示的问题:
看代码:
xml文件:
<ScrollView
android:layout_width="match_parent"android:layout_height="match_parent"
android:scrollbars="none" >
<LinearLayout
android:id="@+id/mLiLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<!-- 饼图的展示 -->
<RelativeLayout
android:id="@+id/mLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</RelativeLayout>
</LinearLayout>
</ScrollView>
注意的地方:scrollview里面只有一个组件!!!不能有多个组件,所以在scrollview里面经常放LinearLayout或者RelativeLayout之类的viewGroup,再在viewgroup里面嵌套多个组件即可
activity中的代码:
mLayout = (RelativeLayout) findViewById(R.id.mLayout);
//解决在scrollView中MPChart的不显示问题
mLayout.addView(mChart,new RelativeLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 500));
scrollview和listview的冲突:
1.不能在scrollview里面直接加listview
2.先自定义一个listView:
package com.ex.common.view;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View.MeasureSpec;
import android.view.ViewGroup;
import android.widget.ListView;
public class NonScrollListView extends ListView {
public NonScrollListView(Context context) {
super(context);
}
public NonScrollListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public NonScrollListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int heightMeasureSpec_custom = MeasureSpec.makeMeasureSpec(
Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, heightMeasureSpec_custom);
// ViewGroup.LayoutParams params = getLayoutParams();
// params.height = getMeasuredHeight();
}
}
3.在activity中的代码:
NonScrollListView nonScrollListView = new NonScrollListView(getApplicationContext());
//记得布局的占用空间设置
nonScrollListView.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
nonScrollListView.setAdapter(new MyBaseAdapter(assetStats.getAssetStatArr()));
mLiLayout.addView(nonScrollListView);
终结:http://stackoverflow.com/questions/28618609/achartengine-pie-chart-not-rendered-in-scrollview