から作成されたGridLayout16 ドットの があります。新しいを作成せずにこれらの色を設定するにはどうすればよいですか?ImageViewsShapeDrawablesShapeDrawable
私のコードのほとんどは次のとおりです。
for (int i = 0; i < dotNumWidth * dotNumWidth; i++) {
ShapeDrawable redShape = new ShapeDrawable(new OvalShape());
redShape.getPaint().setColor(Color.RED);
redShape.setIntrinsicHeight(width / dotNumWidth - dotNumWidth * padding);
redShape.setIntrinsicWidth(width / dotNumWidth - dotNumWidth * padding);
// Put Cyan Shape into an ImageView
ImageView redView = new ImageView(getApplicationContext());
redView.setImageDrawable(redShape);
redView.setPadding(padding, padding, padding, padding);
grid.addView(redView);
}
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
grid.getChildAt(child).setAlpha(100); // I want to change this line
child = (new Random()).nextInt(dotNumWidth * dotNumWidth);
grid.getChildAt(child).setAlpha(0); // and this one
handler.postDelayed(this, 1000);
}
}, 1000);
これは で実行されますonCreate()。上でマークされた行を変更して、アルファの代わりにビューの色を変更したいと考えています。ビューを新しいビューに置き換えるとこれが可能になることはわかっていますが、これを行うためのより良い方法はありますか?
これはドット グリッドの図です。
