我有2个活动,第一个活动使用renderview类连续更改屏幕颜色,
第二活动使用设置为contextview的textview显示鼠标事件。
我的背景不断变化时如何显示mouseevents。
我是android编程的新手,如果我的问题不清楚,请告诉我。
更改背景的代码:
public class renderviewtest extends Activity {
public class renderviewtest extends Activity {
class RenderView extends View {
Random rand = new Random();
public RenderView(Context context) {
super(context);
}
protected void onDraw(Canvas canvas) {
canvas.drawRGB(rand.nextInt(256),rand.nextInt(256),rand.nextInt(256));
invalidate();
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new RenderView(this));
}
}
Code for mouse events:
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.TextView;
public class singletouchtest extends Activity implements OnTouchListener {
StringBuilder builder = new StringBuilder();
TextView textView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
textView = new TextView(this);
textView.setText("Touch and drag (one finger only)!");
textView.setOnTouchListener(this);
setContentView(textView);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
builder.setLength(0);
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
builder.append("down, ");
break;
case MotionEvent.ACTION_MOVE:
builder.append("move, ");
break;
case MotionEvent.ACTION_CANCEL:
builder.append("cancle, ");
break;
case MotionEvent.ACTION_UP:
builder.append("up, ");
break;
}
builder.append(event.getX());
builder.append(", ");
builder.append(event.getY());
String text = builder.toString();
textView.setText(text);
return true;
}
}
最佳答案
关于android - 在Android编程中合并两个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7401386/