OK、ImageView で画面いっぱいに使用している画像があります。次に示すように、scaletype="centerCrop" を使用してアスペクト比を維持しています。
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="centerCrop"
android:src="@drawable/full_bg" />
コードでは、元の画像から拡大縮小された画像への拡大率または倍率を見つけるにはどうすればよいですか? 背景の上に戦略的に配置されたボタンにこの同じ比率を適用できるように、知る必要があります。これは、スケール比を取得しようとしたものです。
ImageView view = (ImageView) findViewById(R.id.imageView1);
Log.i("Test", "x scale = " + Float.toString(view.getScaleX()));
これは、私が探しているものではない 1.0 (スケーリングなし) を返します。また、ImageView の代わりにスケーリングされたビットマップの寸法を取得しようとしました。これにより、元の画像サイズ (540px) も得られます。
ImageView view = (ImageView) findViewById(R.id.imageView1);
Drawable drawing = view.getDrawable();
Bitmap bitmap = ((BitmapDrawable)drawing).getBitmap();
Log.i("Test", "width = " + Integer.toString(bitmap.getWidth()));
私はこれにすべて間違って近づいていますか?これを理解するのに役立つものは何も見つかりません。どんな助けでも大歓迎です!