我创建了一个ShapeDrawable并将其放置在布局中动态创建的imageview中。这是我用来将可绘制对象分配给ImageView的代码。注意,我调用了一种设置随机颜色的方法,还使用用户填充的文本字段设置了高度和宽度,但这与此处无关。
ShapeDrawable shape;
public void makeShape(){
shape = new ShapeDrawable(new RectShape());
shape.setIntrinsicHeight(Integer.parseInt(ET_Height.getText().toString()));
shape.setIntrinsicWidth(Integer.parseInt(ET_Width.getText().toString()));
shape.getPaint().setColor(chooseColor());
iView.setImageDrawable(shape);
}
代码的这一部分效果非常好,这是我稍后尝试使用以前与以前相同的颜色方法访问Drawable来更改用户单击时颜色的方法。
public void onClick(View v){
iView.getDrawable().getPaint().setColor(chooseColor());
}
显然,这段代码不起作用,但这是我能完成的最接近的代码。我也无法通过“形状”访问可绘制对象,而且我也不明白为什么。
那么,在onClick方法中获取可绘制内容的颜色,alpha,旋转等更改的最佳方法是什么?
谢谢!
最佳答案
更改形状参数后,再次尝试iView.setImageDrawable(shape)。
关于android - Android:在ImageView中对ShapeDrawable执行操作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5284706/