Android: сделать округлый макет с двумя цветами фона - PullRequest
2 голосов
/ 02 октября 2011

Я хотел сделать округлую форму и применить ее в качестве фона на макете.Это под моим контролем, но я хотел сделать фон похожим на индикатор выполнения.

, то есть я хочу, чтобы он выглядел примерно так:

image with 2 backgrounds

Я хочу иметь возможность контролировать, где изменяется bg, поэтому я думаю, что это должно быть сделано в коде.Это должно быть сделано так, чтобы я мог поместить текст поверх него

в тот момент, когда у меня есть этот код для создания закругленной угловой формы:

  int w = this.getWidth() - this.getPaddingLeft() - this.getPaddingRight();
  int h = this.getHeight() - this.getPaddingTop() - this.getPaddingBottom();
  int progressWidth = Math.round((w * percent) / 100);

  ShapeDrawable shapeDrawable = new ShapeDrawable();
  float[] outerR = new float[]{5, 5, 5, 5, 5, 5, 5, 5};
  RectF inset = new RectF(0, 0, 0, 0);
  float[] innerR = new float[]{0, 0, 0, 0, 0, 0, 0, 0};
  RoundRectShape roundRectShape = new RoundRectShape(outerR, inset, innerR);
  shapeDrawable.setShape(roundRectShape);
  shapeDrawable.getPaint().setColor(progressColor);
  shapeDrawable.setBounds(0,0,w,h);
...