1

我有一些问题。何时按下按钮 - 必须更改形状的大小。一种变体是创建具有新大小的新对象,但我认为这很愚蠢。请帮助我,或者写下你的想法如何制作它!

代码:

public class MainActivity1 extends Activity {
ShapeDrawable d1;
ShapeDrawable d2;
    //
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_activity1);
    d1 = new ShapeDrawable(new RectShape());
    d2 = new ShapeDrawable(new OvalShape());
    ImageView ob1 = (ImageView) findViewById(R.id.imageView1);
    ImageView ob2 = (ImageView) findViewById(R.id.imageView2);

    d1.setIntrinsicHeight(100);
    d1.setIntrinsicWidth(100);
    d1.getPaint().setColor(Color.RED);
    ob1.setImageDrawable(d1);

    d2.setIntrinsicHeight(100);
    d2.setIntrinsicWidth(100);
    d2.getPaint().setColor(Color.YELLOW);
    ob2.setImageDrawable(d2);

    Button btn_ob1 = (Button) this.findViewById(R.id.button1);
    btn_ob1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            d1.getPaint().setColor(Color.BLUE);
            d1.invalidateSelf();
                            d1.setIntrinsicHeight(150);
                            d1.setIntrinsicWidth(150);
        }
    });
    Button btn_ob2 = (Button) this.findViewById(R.id.button2);
    btn_ob2.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            d2.getPaint().setColor(Color.BLUE);
            d2.invalidateSelf();
                            d2.setIntrinsicHeight(150);
                            d2.setIntrinsicWidth(150);
        }
    });
}
4

0 回答 0