2012-06-28 92 views
35

旋轉ImageView的來源我在我的佈局這個ImageView的:從佈局XML文件

<ImageView android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:contentDescription="@string/image_divider" 
     android:paddingBottom="8dp" 
     android:paddingTop="4dp" 
     android:scaleType="fitXY" 
     android:src="@android:drawable/divider_horizontal_textfield" /> 

這是一個水平分割線。我想旋轉它90度,所以我有一個垂直分頻器。
有沒有任何可能的方式在佈局而不是活動類這裏做到這一點?

+0

你可以將高度設置爲'layout_height =「FILL_PARENT」'然後它會在整個佈局 – thepoosh

+0

被拉長笑納/給予好評的答案,如果你有你的解決方案:) –

+0

@thepoosh:源圖像不是一個正方形。這是一個寬的矩形,按照你所說的做,會產生一個薄的垂直矩形。 – mehrmoudi

回答

104

您可以使用可用自API等級11

android:rotation="90" 

終極密碼放,

<ImageView android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:rotation="90" 
     android:contentDescription="@string/image_divider" 
     android:paddingBottom="8dp" 
     android:paddingTop="4dp" 
     android:scaleType="fitXY" 
     android:src="@android:drawable/divider_horizontal_textfield" /> 
+1

謝謝,但ImageView沒有這樣的屬性,至少在我的! http://s15.postimage.org/gpit1dvrd/Untitled.png – mehrmoudi

+0

@Mehran訪問http://developer.android.com/reference/android/view/View.html#attr_android:rotation更多信息 –

+1

我不同意:android :roation屬性僅在API 11以後纔可用:http://developer.android.com/reference/android/R.attr.html#rotation –

1

你可以在你的代碼通過創建一個新的位圖對象。 檢查了這一點:http://android-er.blogspot.fr/2010/07/rotate-bitmap-image-using-matrix.html 而具體這個功能

Matrix matrix = new Matrix(); 
matrix.postScale(curScale, curScale); 
matrix.postRotate(curRotate); 

Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, bmpWidth, bmpHeight, matrix, true); 
myImageView.setImageBitmap(resizedBitmap);