GcsSloop / AndroidNote

安卓学习笔记
http://www.gcssloop.com/#blog
9.18k stars 2.13k forks source link

我用Picture绘制时界面什么反应也没有啊,不知道怎么回事啊 #78

Closed iamdurui closed 7 years ago

iamdurui commented 7 years ago

我的这里完全用作者给我的方法做的,代码完全copy的,界面什么反应也没有啊,就是protected void onDraw(Canvas canvas) { super.onDraw(canvas);

    // 移动坐标系到画布中央
    canvas.translate(mWidth / 2, mHeight / 2);

    // 绘制背景圆形
    canvas.drawCircle(0, 0, 240, mPaint);

    // 得出图像边长
    int sideLength = okBitmap.getHeight();

    // 得到图像选区 和 实际绘制位置
    Rect src = new Rect(sideLength * animCurrentPage, 0, sideLength * (animCurrentPage + 1), sideLength);
    Rect dst = new Rect(-200, -200, 200, 200);

    // 绘制
    canvas.drawBitmap(okBitmap, src, dst, null);
}

这个获得这个src的有点看不懂啊。。。 还有有一个地方不一样 我这里写的是 okBitmap = BitmapFactory.decodeResource(mContext.getResources(), R.mipmap.ic_launcher); 作者你写的是 okBitmap = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.checkres); 不知道有没有影响,谢谢

linsir6 commented 7 years ago

有影响,作者那个是计算过的,代码和图片是相互对应的,图片正好是13个对号。我也画了这个,是好用的。 你必须要把 图片 和代码 对应上,因为 你的 ic_launcher 长款比 根本和代码对不上。 我这记录着上次 照着楼主的 敲的 ,你可以看一下。https://github.com/linsir6/AndroidNote/blob/master/Android%E8%87%AA%E5%AE%9A%E4%B9%89View/%E8%87%AA%E5%AE%9A%E4%B9%89View%E2%80%94%E2%80%94CheckView.md

iamdurui commented 7 years ago

@linsir6 我懂了,谢谢啊