2010-07-28 156 views
2

我似乎無法在整個屏幕上正確旋轉圖像。問題是當圖像旋轉時,您可以在某些區域看到背景。我想讓圖像在旋轉時也填充屏幕。這是佈局。我嘗試過不同的比例類型,但沒有成功。在整個屏幕上旋轉圖像

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <ImageView 
     android:id="@+id/image" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:scaleType="centerCrop" /> 
</LinearLayout> 

這裏是我使用的代碼。

image = (ImageView) findViewById(R.id.image); 
image.setBackgroundResource(R.drawable.back_big); 
rot = AnimationUtils.loadAnimation(this, R.anim.rotation); 
image.startAnimation(rot); 

我從onResume開始動畫。正如我所說的,圖像旋轉但有旋轉背景區域。我試過使用比屏幕大得多的圖像,但它仍然沒有做到我想要的。我不在乎圖像的外部區域不可見。我只想旋轉填充屏幕。我猜想ImageView最初設置它的寬度和高度,然後當它旋轉時,它使用這些尺寸。有一個更好的方法嗎?

回答

0

在仔細觀察問題後,我不認爲有可能實現我想要的。如果有可能,那就太複雜了,不值得。

0

您正在將ImageView的scaleType設置爲「centerCrop」。不幸的是,關於不同scaleTypes的確切含義並沒有很好的文檔,但名稱意味着圖像在屏幕上居中並裁剪爲ImageView的確切大小。因此,當你開始旋轉時,你會看到背景區域。

嘗試將scaleType轉換爲「中心」。

+0

我已經嘗試過所有scaleTypes但沒有成功。我認爲ImageView將圖像的初始寬度和高度設置爲屏幕的寬度和高度,然後在旋轉時不會改變圖像的大小。所以我認爲它不關係scaleType。 – 2010-07-28 16:35:39