标签: android-canvas

如何绘制带边框的路径?

示例路径

我想绘制一个类似于图像的路径.它有两个黑色边框,里面是白色而不是透明.怎么实现呢?尤其是关节位置.

android android-canvas

-1
推荐指数
1
解决办法
5613
查看次数

Invalidate 不调用 onDraw

我需要通过单击按钮重绘图片,但在方法无效之后,onDraw 方法未被调用。但是 onDraw 调用仅在运行应用程序后发生。

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    final Draw draw = new Draw(this);

    Button button = (Button) findViewById(R.id.btn);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            draw.setA(40);
            draw.setB(300);
            draw.invalidate();
        }
    });

}
}
Run Code Online (Sandbox Code Playgroud)

这是代码 Draw.java

public class Draw extends View {

private Paint mPaint;
private int a;
private int b;

public Draw(Context context) {
    super(context);
    init();
}

public Draw(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
}

public …
Run Code Online (Sandbox Code Playgroud)

android android-canvas

-1
推荐指数
1
解决办法
1421
查看次数

如何使用密钥加密和解密android中的json字符串?

我目前正在开发一个基于绘图的项目,我已将值存储为json格式并存储在文件中,但我想通过使用密钥加密json并使用相同的密钥解密json.

encryption android json android-canvas

-1
推荐指数
1
解决办法
3474
查看次数

缩放和平移画布后更正触摸事件的坐标

使用缩放时,MotionEvent 坐标可以通过除以 ScaleFactor 来校正。

此外,在缩放和平移时,除以比例因子并减去偏移量。

然而,在处理缩放时,就没有那么容易了。除法确实得到了正确的相对坐标,但因为涉及平移,0 不是 0。0 可以是 -2000 的偏移量。

那么如何在缩放和平移后更正 TouchEvents 以提供正确的坐标?

代码:

飞涨:

class Scaler extends ScaleGestureDetector {
    public Scaler(Context context, OnScaleGestureListener listener) {
        super(context, listener);
    }

    @Override
    public float getScaleFactor() {
        return super.getScaleFactor();
    }
}
class ScaleListener implements ScaleGestureDetector.OnScaleGestureListener{

    @Override
    public boolean onScale(ScaleGestureDetector detector) {
        scaleFactor *= detector.getScaleFactor();

        if(scaleFactor > 2) scaleFactor = 2;
        else if(scaleFactor < 0.3f) scaleFactor = 0.3f;
        scaleFactor = ((float)((int)(scaleFactor * 100))) / 100;//jitter-protection
        scaleMatrix.setScale(scaleFactor, scaleFactor, detector.getFocusX(), detector.getFocusY());
        return true;
    }

    @Override …
Run Code Online (Sandbox Code Playgroud)

android zooming android-canvas

-2
推荐指数
1
解决办法
759
查看次数

标签 统计

android ×4

android-canvas ×4

encryption ×1

json ×1

zooming ×1