我创建了一个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/

10-10 15:54