Android setOnClickListener

jaracle 2011-03-09 03:54:02
先贴上代码
public class Test extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View view = new MyView(this);
setContentView(view);
}

class MyView extends SurfaceView implements SurfaceHolder.Callback,View.OnClickListener{

SurfaceHolder holder;
public MyView(Context context) {
super(context);
holder = this.getHolder();
holder.addCallback(this);
setOnClickListener(this);
}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {

}

@Override
public void surfaceCreated(SurfaceHolder holder) {
new Thread(new MyThread()).start();
}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {

}

class MyThread implements Runnable{

@Override
public void run() {
for(int i = 0;i < 3;i ++){
Canvas canvas = holder.lockCanvas(null);
Paint paint = new Paint();
canvas.drawBitmap(BitmapFactory.decodeResource(getResources(),
R.drawable.diamond_3), 0+i*10, 200, paint);
holder.unlockCanvasAndPost(canvas);
}

}

}

/* (non-Javadoc)
* @see android.view.View.OnClickListener#onClick(android.view.View)
*/
@Override
public void onClick(View v) {
Toast toast = Toast.makeText(getApplicationContext(), v.getClass().getName(), Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}

}
}

接下来是效果图
我想给纸牌设置点击事件来实现纸牌往上移动的功能,可是这些纸牌都是画出来的,不是View,咋整?
...全文
436 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
梦_枫 2011-03-09
  • 打赏
  • 举报
回复
本来就是这么做的,view的点击事件最底层也是由位置来判断点击的。。。。。。。做过j2me的就能深入理解
rollrock1987 2011-03-09
  • 打赏
  • 举报
回复
我觉得这个方法挺好的啊

本来就是这么做的 要不你自己去做个控件?
jaracle 2011-03-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ultrapro 的回复:]
自己画上去,记住张牌的位置,点的时候判断到底是哪一张牌。
[/Quote]
这方法太坑爹了吧?
儿大不由爷 2011-03-09
  • 打赏
  • 举报
回复
自己画上去,记住张牌的位置,点的时候判断到底是哪一张牌。

80,355

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧