我试图创建一个drawable用作视图背景,其中包含一个方形菱形。我一直在努力创造一个正方形并将其旋转45度,但它并没有像我期望的那样真正发挥作用。我想知道是否有人有任何建议或一个可以提供帮助我的工作实例。我尝试用XML编写它,最近转而用Java编写,如下所示:
public class DiamondView extends Drawable {
private Paint paint;
public DiamondView() {
paint = new Paint();
paint.setAntiAlias(true);
}
@Override
public void draw(Canvas canvas) {
int height = getBounds().height();
int width = getBounds().width();
RectF rect = new RectF( 0.0f, 0.0f, height / 2, height / 2 );
canvas.rotate( 45 );
canvas.translate( width / 4, 0 );
canvas.drawRect( rect, paint );
}
@Override
public void setAlpha(int alpha) {
paint.setAlpha(alpha);
}
@Override
public void setColorFilter(ColorFilter cf) {
paint.setColorFilter(cf);
}
@Override
public int getOpacity() {
return PixelFormat.TRANSLUCENT;
}
}