我有一个 GLSurfaceView,当用户点击一个按钮时,它会用默认颜色绘制一些三角形。然后,当用户从我的充气菜单中选择一种颜色时,它将重新绘制具有该特定颜色的三角形。它以一种奇怪的方式工作,起初它确实绘制了三角形,当我选择不同的颜色时,它不会用不同的颜色重新绘制。但是,当我关闭手机并重新打开时,颜色发生了变化。
这是我的代码:
//------------------------------------------------------------------------------------------------
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.issm_menu,menu);
return true;
}
//------------------------------------------------------------------------------------------------
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.menu_about:
Toast.makeText(ISSM.this, "ISSM Application", Toast.LENGTH_SHORT).show();
return true;
case R.id.cl_autumn:
colorMap.setAutumn();
drawFigure();
return true;
case R.id.cl_bone:
colorMap.setBone();
drawFigure();
return true;
default:
return true;
}
public void onClick(View view)
{
this.fillBuffer();
drawFigure();
}
//----------------------------------------------------------------------------------
public void drawFigure()
{
mGLView = new MyGLSurfaceView(this, buff, size, colorMap);;
frame.addView(mGLView);
}
我希望一旦我点击菜单中的颜色,颜色就会改变,我不想关闭和打开(顺便说一下,不是完全关闭电源,就像睡眠和唤醒一样)