Я использую функцию drawCircle(int diameter)
для возврата ShapeDrawable
объекта, который является OvalShape.Затем я использую ImageView.setImageDrawable()
, чтобы установить OvalShape.Но ImageViews
все еще пусты.Как это сделать правильно?
Функция drawCircle()
:
public ShapeDrawable drawCircle (int diameter) {
OvalShape ovalShape = new OvalShape();
ShapeDrawable drawable = new ShapeDrawable(ovalShape);
drawable.getPaint().setColor(getResources().getColor(R.color.textColorHint));
drawable.getPaint().setStyle(Paint.Style.FILL_AND_STROKE);
drawable.getPaint().setStrokeWidth((float)2);
drawable.setBounds(0 ,0, diameter, diameter);
return drawable;
}
Установить ImageView
:
one_img.setImageDrawable(drawCircle(selector_one_diameter));
two_img.setImageDrawable(drawCircle(selector_two_diameter));
Прежде всего, я попытался использовать файл .xml
описать овальные формы.Но поскольку значения в dimens.xml
нельзя переписать в коде Java, я не могу динамически изменять размер овальных фигур.Не может быть лучше, если вы можете предложить другой путь!