1

から作成された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()。上でマークされた行を変更して、アルファの代わりにビューの色を変更したいと考えています。ビューを新しいビューに置き換えるとこれが可能になることはわかっていますが、これを行うためのより良い方法はありますか?

これはドット グリッドの図です。

ここに画像の説明を入力

4

0 に答える 0