問題があります。ボタンが押されるとき - 形状のサイズを変更する必要があります。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);
}
});
}