1. 程式人生 > >getMeasureHeight和getHeight獲取控制元件的寬和高

getMeasureHeight和getHeight獲取控制元件的寬和高

				int mHeight = main_iv_showPic.getMeasuredHeight();
				int mWidth = main_iv_showPic.getMeasuredWidth();
				int width = main_iv_showPic.getWidth();
				int height = main_iv_showPic.getHeight();
				Log.d(TAG, "---mHeight:" + mHeight + "---height:" + height);
				Log.d(TAG, "---mWidth:" + mWidth + "---width:" + width);

資料顯示兩種資料是一樣的。

我的main_iv_showPic的寬跟資料一樣,高比資料大,但是圖片沒有縮放,然後我把高設定為資料那麼多,顯示的資料依舊是原來的,圖片顯示大小也依舊是原來的。。。

<ImageView
        android:id="@+id/main_iv_showPic"
        android:layout_width="500.0px"
        android:layout_height="671.0px"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="10.0px"
        android:layout_marginTop="5.0px"
        android:adjustViewBounds="true"
        android:contentDescription="@string/firstShowImage"
        android:scaleType="centerInside" />

還是資料比較好比較一點:

原來我的xml的imageview的寬和高設定的是:500,700.

然後getMeasureHeight和getHeight的值一直都是一樣,

打印出來的是:500,671,圖片顯示正常,(其實一直都有點顯示不完全,不知道為什麼,但是暫時沒管這個問題,所以暫且認為他是顯示正常的)。

然後我將xml的imageview的寬和高設定為:500,671,

然後打印出來還是500,671,圖片顯示正常,

然後我就鬱悶了,為什麼獲取控制元件的寬和高的時候,打印出來的寬和高不是我xml設定的大小呢,就算圖片沒有填滿控制元件那也應該是列印的是xml設定的資料啊。