0
나는 안드로이드 코딩으로 놀고있어 모든 화면 크기를 사용하는 캔버스를 만들었고 누군가가 캔버스를 터치 할 때마다이 캔버스에 터치 이벤트를 추가하는 데 도움이 필요합니다. 그 색깔. 2터치시 캔버스 색상 변경
편집은 내 레이아웃에 클릭 이벤트를 삽입 관리,하지만 난 그것의 처음에만 페인트 관리, 아주 잘 작동하지 않았다.
public class Modetwo_paint extends Activity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
...
ll = (LinearLayout) findViewById(R.id.layout_paint);
ll.setBackgroundColor(Color.BLACK);
ll.setOnClickListener(this);
drawView = new DrawViewSingle(this ,width, height, a[0], r[0], g[0], b[0]); //a, r, g, b, they are arrays of int
ll.addView(drawView);
}
public void onClick(View arg0) {
String s;
switch (arg0.getId()) {
case R.id.layout_paint:
clicks+=1;
if (clicks >= a.length) {
clicks = 0;
}
s = "Teste " + clicks;
Toast.makeText(getApplicationContext(), s , Toast.LENGTH_SHORT).show();
drawView = new DrawViewSingle(this ,width, height, a[clicks], r[clicks], g[clicks], b[clicks]);
ll.addView(drawView);
break;
default:
break;
}
}
}
내 DrawViewSingle 클래스
public class DrawViewSingle extends View {
Paint paint = new Paint();
int x;
int y;
int a;
int r;
int g;
int b;
int size;
public DrawViewSingle(Context context, int x, int y, int a , int r, int g, int b) {
super(context);
this.x = x;
this.y = y;
this.a = a;
this.r = r;
this.g = g;
this.b = b;
}
@Override
public void onDraw(Canvas canvas) {
paint.setStrokeWidth(0);
paint.setARGB(a, r, g, b);
canvas.drawRect(0, 0, x, y, paint);
}
}
당신은 어떤 코드없이 –
이 코드를 추가하십시오 drawview 클래스를 필요로하지는, 당신이 달성하려고하는 것과 같은 확실하지 오전, 어쩌면이 도움이 될 것입니다 : HTTP : // 개발자 .android.com/guide/topics/graphics/2d-graphics.html – buczek
안녕하세요, 제 질문에 코드를 추가합니다. 누군가 도와 드릴 수 있습니까? –