Bitmap and DrawPoint
Android UI 中有时需要画Bitmap,那么如何画Bitmap?
  • 利用已有资源初始化Bitmap。

 public void fillPointArrays(int color,Drawable drawable) {        Bitmap bitmap = Bitmap.createBitmap(pointSize, pointSize, Bitmap.Config.ARGB_8888);        Canvas canvas = new Canvas(bitmap);        drawable.setBounds(0, 0, pointSize, pointSize);        drawable.draw(canvas);        pointArray[color] = bitmap;    } Resources r = this.getContext().getResources(); fillPointArrays(GREEN,r.getDrawable(R.drawable.green_point));



  • 屏幕触摸画点,利用已经初始化的Bitmap画点。


@Overridepublic boolean onTouchEvent(MotionEvent event) {//获得触摸点的坐标point = newPoint(event.getX(), event.getY());refressCanvas();return true;}

onTouchEvent(MotionEvent event) 重载了View()的函数,用来监听屏幕的触摸,从event事件中可以获得触摸点的坐标。

  • 根据触摸点的坐标,画出触摸的点。

    //画点    private void drawPoint(Canvas canvas){    canvas.drawBitmap(pointArray[0],point.x*pointSize+xOffset,point.y*pointSize+yOffset,paint);    }//根据触摸点坐标找到对应点private Point newPoint(Float x, Float y){Point p = new Point(0, 0);for (int i = 0; i < maxX; i++) {if ((i * pointSize + xOffset) <= x&& x < ((i + 1) * pointSize + xOffset)) {p.setX(i);}}for (int i = 0; i < maxY; i++) {if ((i * pointSize + yOffset) <= y&& y < ((i + 1) * pointSize + yOffset)) {p.setY(i);}}return p;}

更多相关文章

  1. Android(安卓)屏幕适配之框架(AndroidAutoSize)(今日头条)适配
  2. AES加解密在Android(安卓)4.2上的Encryption error
  3. Android(安卓)OpenGL射线拾取&手势旋转(二)
  4. android network,gps定位切换
  5. 使用百度地图SDK 这是之前版本 现在的sdk v2-1-2使用方法完全改
  6. Android培训班(38)
  7. Android系统启动流程之Init说明
  8. flutter集成推送功能-小米推送集成
  9. Android(安卓)ViewPager的初始化及遇到的切换异常,界面异常拉伸

随机推荐

  1. Android开发中遇到的几个问题及解决方案
  2. Android页面之间进行数据回传
  3. Android获取系统时间以及网络时间
  4. android问题汇总系列之一
  5. Android(安卓)SeekBar 进度条 沙漏 加载
  6. android打包so文件到apk
  7. Android(安卓)Studio开发NDK用C++的坑
  8. Android写入配置信息
  9. Android应用互通的实现
  10. 拖动 view