0
SurfaceView를 확장하는 클래스 XYZ를 만들었습니다. onDraw 메서드 내에서 이미지가있는 비트 맵 배열을 만든 다음 drawBitmap 메서드를 사용하여 이미지를 캔버스에 배치했습니다. 다른 클래스의 캔버스에 대한 액세스
public class MyActivity extends Activity {
public Context context = this;
public Board myGameBoard;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start_game);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// Show the Up button in the action bar.
getActionBar().setDisplayHomeAsUpEnabled(true);
}
}
public void changeImage(View view){
//here I want to change the image
}
}
(나는 게시 :이 버튼을 클릭 한 후 내 캔버스에 이미지를 변경하려면 MyActivity,의,
public class Board extends SurfaceView{
public BitmapFactory myBitmapFactory = new BitmapFactory();
public Bitmap myBitmap = new Bitmap();
protected void onDraw(Canvas canvas) {
myBitmap = Bitmap.createScaledBitmap(myBitmapFactory.decodeResource(getResources(), R.drawable.image), size, size, false);
Paint paint = new Paint();
canvas.drawBitmap(myBitmap, x, y, paint);
그리고 두 번째 클래스가이 더 많거나 적은 같은 외모 나는 이미지를 추가하는 책임이 있다고 생각하는 코드의 가장 중요한 부분 만).
그러나 로컬 변수이기 때문에 onDraw 메서드 내에서 사용하고있는 캔버스에 어떻게 접근해야할지 모르겠다. 이미지를 바꿀 수 있으려면 어떻게해야합니까?