0

ViewGroupに、2つのImageViewをオーバーラップさせたいと思います。imageviewAに透明な背景があり、画像全体にいくつかの描画、imageviewBがあります。

両方を同じ場所に配置し、同じサイズにする必要があります(ただし、ivBの画像が変更された場合、ivAは新しいサイズに一致するようにサイズ変更する必要があるため、XMLでサイズを修正することはできません。

ivAソースイメージは変更されないため、ivBサイズを設定するためにivA.getWidth()とivA .getHeight()を試しましたが、onCreate()メソッドではそれらの値は0,0です。

これを行うための「簡単な」方法はありますか?

4

2 に答える 2

1

で寸法を取得してみてくださいonWindowFocusChangedListener

より簡単な方法は、ImageViewsをFrameLayout(Viewsを他の上に配置するように構築されている)に配置し、代わりにFrameLayoutのサイズを変更することです。

于 2012-02-05T05:00:58.147 に答える
1

ImageView をオーバーライドし、onLayout() で、super.onLayout() を呼び出した後に適切な幅または高さを取得できます。その場所に値を設定してみてください。

于 2012-02-05T02:19:48.213 に答える