我正在做一個公牛眼睛的流派,但不是使用圓形,而是使用正方形。從擴展視圖中的活動調用方法
但問題是:
一切都完成後,算法生成的顏色別人方塊完成。
但是我實現了一個按鈕,我讓它刷新了公牛的眼睛。
問題是我不能做,需要幫助。
這是MainActivity,從這裏我將檢測到按鈕點擊。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FrameLayout frame = (FrameLayout) findViewById(R.id.frame);
Draw draw = new Draw(this);
frame.addView(draw);
Button refresh = (Button) findViewById(R.id.refresh);
refresh.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
draw.onDraw(canvas);
frame.addView(draw);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
這是Draw活動,這是我用來渲染圖像的活動。
public class Draw extends View {
public Draw(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
Paint prop = new Paint();
Random color = new Random();
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
int width = getWidth();
int height = getHeight();
int oriwidth = 0;
int oriheight = 0;
for (int x = 0; x < 20; x++) {
int red = color.nextInt();
int green = color.nextInt();
int blue = color.nextInt();
prop.setARGB(0, red, green, blue);
canvas.drawRect(oriwidth += 10, oriheight += 10, width -= 10,
height -= 10, prop);
}
}
}
有人可以幫我嗎?對不起英文。
什麼是確切的問題。你提到「問題是我不能做,需要幫助。」它是一個編譯或運行時問題? – prijupaul
我無法調用onDraw方法再次運行。我希望能用新的顏色看到一個新的廣場。 –