0

誰かが私を助けてくれることを願っています。onTouchメソッドを使用しています。表示されている から取得したビットマットImageViewがあります。基本的に私がやりたいことは、画像をタッチすると、タッチしたのと同じ座標に他の画像 (drawable フォルダーに保存されている) がオーバーレイ表示されることです。

私はこのonTouch方法にかなり慣れていません。私の問題は、タッチするとImageView、ドローアブルが置き換えられ、ImageViewオーバーレイされないことです。

私は試してみましたLayerDrawable

            Resources r = getResources();
            Drawable[] layers = new Drawable[1];
            layers[0] = r.getDrawable(R.drawable.color_picker);
            LayerDrawable layerDrawable = new LayerDrawable(layers);
            imageView.setImageDrawable(layerDrawable);

しかし、画面に触れると、アプリでエラーが発生して停止します。

誰かがこれを解決するために私を助けることができますか?

どうもありがとう

4

1 に答える 1

2

手遅れであることは承知していますが、参考になるようにこの質問に回答します。「レイヤー」配列に別のアイテムを追加したほうがよいと思います。したがって、コードは次のようにする必要があります。

Resources r = getResources();
Drawable[] layers = new Drawable[2];
layers[0] = r.getDrawable(R.drawable.color_picker);
layers[1] = r.getDrawable(R.drawable.yourFirstImage);
LayerDrawable layerDrawable = new LayerDrawable(layers);
imageView.setImageDrawable(layerDrawable);

これでうまくいくと思います。

于 2015-04-20T18:09:26.710 に答える