0

4.0以降のAndroidでは頻繁にOutOfMemoryError. そこで、Android開発者ページのリソース「ビットマップを効率的にロードする」のサンプルコードを使用しようとしました。

しかし、私の問題は、寸法を定義するための定数値がないため、ImageView の高さと幅を取得することです。

開発者ページからの必須フィールドを含むコード。

public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId,
        int reqWidth, int reqHeight)

これが私のレイアウトです:

<RelativeLayout android:layout_width="match_parent"
                android:layout_weight="3"
                android:layout_height="0px">

   <ImageView
    android:id="@+id/img1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scaleType="fitStart"
    android:src="@drawable/image" />

私は使用しようとしましimage.getHeight()たが、うまくいきませんでした。

4

2 に答える 2

0

これは、「image」がImageViewオブジェクトではないためです。ケースでImageViewをプログラムで宣言する方法は次のとおりです。

`ImageView image =(ImageView)findViewById(R.id.img1);

さらに、これはあなたを助けるかもしれません:ビューの寸法を取得する方法は?

于 2013-03-19T22:20:29.573 に答える
0

ViewTreeObserver を使用してコールバックの 1 つを待ってから、ImageView のサイズを取得できます。

詳細はこちら: ビューを最初に測定できるのはいつですか?

于 2013-03-19T22:22:32.417 に答える