0

カスタム形状(ほぼ長方形)のビューを作成する効果を達成しようとしています。

これが私がやろうとしたことです:

public class CustomHeaderview extends View {

    public CustomHeaderview(Context context) {
        super(context);
    }

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

    public CustomHeaderview(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    Paint paint = new Paint();

    @Override
public void draw(Canvas canvas) {
    paint.setColor(Color.GRAY);
    paint.setStyle(Style.FILL);

    Path wallpath = new Path();
    wallpath.reset(); // only needed when reusing this path for a new build
    wallpath.moveTo(100, 100); // used for first point
    wallpath.lineTo(100, 200);
    wallpath.lineTo(200, 200);
    wallpath.lineTo(150, 100);
    wallpath.lineTo(100, 100);// there is a setLastPoint action but i found it not to work as expected

    canvas.drawPath(wallpath, paint);
    super.draw(canvas);
}

}

および XML:

<CustomHeaderview
            android:layout_width="152dp"
            android:layout_height="152dp" />

編集 ありがとうドミトリー、それは今完全に動作します!

4

1 に答える 1

0

長方形に派手な座標を提供します:

x1: 100
y1: 100
x2: 100
y2: 120

したがって、幅が 0 の長方形を取得しているため、非表示になっています。

于 2013-07-26T14:37:11.430 に答える