我的應用程序中有一個啓動屏幕imageview。我將png文件與我的應用程序綁定在一起,因爲png的分辨率更高,所以將其縮放後將其轉換爲位圖。當它正要繪製時,我正在使用imageview的回調函數進行修飾和縮放。我需要位圖來填滿整個屏幕。但有時它並沒有被繪製,它將視圖的寬度和高度設置爲0.它僅在某個時間發生。我認爲這不是正確的做法。請建議我最好的解決方案。在onCreate中將縮放位圖設置爲ImageView
<com.example.myImageView
android:id="@+id/ovation_background"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:contentDescription="@string/background_screen"
android:background="@color/black"/>
在活動的onCreate功能:
mImageView.getMeasuredWidth()和mImageView.getMeasuredHeight()有時來爲0。
ViewTreeObserver vtoBackgroundView = mImageView.getViewTreeObserver();
vtoBackgroundView.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
Bitmap bitmap = decodeSampledBitmapFromResource
(getResources(), R.drawable.launch_screen,
**mImageView.getMeasuredWidth()**,
**mImageView.getMeasuredHeight()**);
if (bitmap != null)
{
mImageView.setBackgroundBitmap(bitmap);
}
ViewTreeObserver obs2 = mImageView.getViewTreeObserver();
obs2.removeOnPreDrawListener(this);
return true;
}
});
感謝您的回答。它給了正確的方向。 – Keerthi 2013-04-25 08:36:42