从路径创建自定义Drawable

时间:2014-09-06 12:40:26

标签: android canvas drawable

我尝试制作一个自定义的Drawable,它从一个路径中创建一个Drawable。我知道这可以使用ShapeDrawable完成,但我想在同一个Drawable上更频繁地绘制相同的路径(但在y轴上移动),当然还要学习如何实现自定义Drawable。

我的代码列在下面,遗憾的是活动没有显示任何内容。

这是我的自定义Drawable类:

public class TestDrawable extends Drawable {

Path path;
Paint strokePaint;

public TestDrawable(Path path){
    this.path = path;
    strokePaint = new Paint();
    strokePaint.setColor(Color.RED);
    strokePaint.setStyle(Paint.Style.STROKE);
}

@Override
public void draw(Canvas canvas) {
    canvas.drawPath(path, strokePaint);
}

@Override
public void setAlpha(int i) {

}

@Override
public void setColorFilter(ColorFilter colorFilter) {

}

@Override
public int getOpacity() {
    return PixelFormat.OPAQUE;
}
}

这是我测试的主要活动:

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ImageView testImage = (ImageView) findViewById(R.id.testImage);
    Path path = CardBuilder.getPath();
    Drawable d = new TestDrawable(path);
    testImage.setImageDrawable(d);
}
}

路径有效(之前使用ShapeDrawable测试)。 我错过了什么?

附加问题: 如何使我的Drawable刻度适合我后来用于显示Drawable的ImageView的度量?

0 个答案:

没有答案