對於初學者來說,我個人總是很難理解自動編碼和手動編碼的情況。我特別遇到麻煩的一個領域是瞭解android開發中android.view.View類的onDraw(Canvas canvas)方法。我有一些沒有錯誤的代碼,但是當它運行我的onDraw(畫布畫布)時似乎被忽略。我不認爲編譯器知道我想繪製的位置,我不知道如何讓它知道。下面是一些我的代碼(僅添加相關的代碼。如果你需要更多的只是評論,我會添加更多的相應。):關聯onDraw(視圖視圖)和SurfaceView
主要活動
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
backGround = (RelativeLayout) findViewById(R.id.bG);
GFX screen = new GFX();
}
GFX
public class GFX extends Activity{
MyBringBack ourView;
@Override
protected void onCreate(Bundle savedInstanceCreate){
super.onCreate(savedInstanceCreate);
ourView = new MyBringBack(this);
setContentView(ourView);
}
}
MyBringBack
public class MyBringBack extends View {
Paint paint = new Paint();
public MyBringBack(Context context){
super(context);
}
@Override
protected void onDraw(Canvas canvas){
super.onDraw(canvas);
paint.setColor(Color.BLACK);
paint.setStrokeWidth(3);
canvas.drawRect(30, 30, 80, 80, paint);
}
}
我一直在關注youtube上的these教程。
如何指定要繪製的位置?