我使用自己的 GLSurfaceView 类来显示图表(透明背景/覆盖)。我的扩展 GLSurfaceView 通过 XML 嵌入到弹出窗口中。
<com.dsignmatters.iq_fitfunlite.GLPieChartView
android:id="@+id/gameprogress_chart"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
...
作为活动的一部分,我添加了以下代码:
mGamesuccessPieChart = (GLSurfaceView) gameprogressView.findViewById(R.id.gameprogress_chart);
mGamesuccessPieChart.setZOrderOnTop(true);
最后但并非最不重要的是,我的 GLSurfaceView 看起来像这样:
public class GLPieChartView extends GLSurfaceView {
public GLPieChartView(Context context) {
super(context);
initGL();
}
public GLPieChartView(Context context, AttributeSet attrs) {
super(context, attrs);
initGL();
}
void initGL() {
setEGLContextClientVersion(2);
setEGLConfigChooser(8,8,8,8,16,0);
setRenderer(new GLPieChartRenderer());
setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
getHolder().setFormat(PixelFormat.TRANSLUCENT);
}
}
我的渲染器类GLPieChartRenderer
根本不调用glClearColor
。