マトリックスを使用してスケーリングする ImageView があります。設定しました
android:configChanges="orientation|screenSize|keyboardHidden"
そのため、オリエンテーションを手動で処理します。向きの変更後に画像ビューを計算する次のコードがあります。
final ViewTreeObserver observer= mCanvasImageView.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int w = mCanvasImageView.getWidth();
int h = mCanvasImageView.getHeight();
System.out.println("w=" + w + ",h=" + h);
何らかの理由で、ImageView の 2 つの状態 (縦向きと横向き) だけでなく、幅と高さの値の 3 番目のペアがあります。
この 3 番目の一時的な計算があるように見える理由を知っている人はいますか? どうすればそれを実際の値と区別できますか?