Мне нужно нарисовать что-нибудь на холсте, а потом облизать каждую.Я сделал класс
public class PlayGameView extends SurfaceView implements SurfaceHolder.Callback
В этом классе у меня есть метод onDraw
@Override
public void onDraw(Canvas canvas) {
Paint paint = new Paint ();
Bitmap wrench = BitmapFactory.decodeResource(getResources(), R.drawable.wrench);
canvas.drawColor(Color .BLACK);
for(int i = 0; i < 4; i++) {
for(int j = 0; j < 4; j++) {
canvas.drawBitmap(wrench, canvas.getWidth()/2 - wrench.getWidth()*2 + i*wrench.getWidth(), 0 + j*wrench.getHeight(), null);
}
}
}
и внутренний класс Thread.Итак, в XML-файл я добавил этот вид, как это
<com.cerbertek.PlayGameView
android:id="@+id/play_field_surface_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
и привязывая, чтобы добавить clicklistener в классе деятельности
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.play_game);
playField = (PlayGameView) findViewById(R.id.play_field_surface_view);
playField.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(PlayGameActivity.this, "ОХУЕТЬ", 2000);
}
});
}
, но ничего не происходит.без тостакогда я вызвал метод getWidth, он показал мне НОЛЬ!Но я вижу изображение)
как я могу решить мою проблему?