Я хочу создать свой собственный вид.Вид, который имеет небольшую кривую синуса снизу, а сверху - просто другой вид с любым цветом, который я хочу выбрать.Как я хочу также выбрать цвет градиента для этого представления.
Что я пробовал
Я пробовал один SineView и другой WaveView в моем коде, но он не будетработать как положено.
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
int width = canvas.getWidth();
int height = canvas.getHeight();
canvas.save();
canvas.translate(0, getMeasuredHeight() / 2F);
canvas.clipRect(0, -100, 450, 100, Region.Op.INTERSECT);
Path mPath = new Path();
mPath.moveTo(0, 100);
mPath.quadTo(50, -50, 100, 0);
mPath.quadTo(150, 50, 200, 0);
mPath.quadTo(250, -50, 300, 0);
mPath.quadTo(350, 50, 400, 0);
mPath.quadTo(450, -50, 500, 100);
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.GRAY);
canvas.drawPath(mPath, paint);
canvas.restore();
}
Ожидаемое представление
Также я хочу, чтобы высота представления увеличивалась при переносе содержимого.Я не хочу увеличивать синусоидальную кривую, просто хочу увеличить высоту макета.