I have a listview with each item defined as: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight" android:padding="10dp"> <LinearLayout android:id="@+id/llHeader" android:background="@color/blue" android:orientation="vertical" android:layout_alignParentTop="true" android:layout_width="fill_parent" android:layout_height="fill_parent" > <CheckBox android:id="@+id/chkUse" android:text="File-name" android:textColor="@color/yellow" android:textStyle="bold" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="left" /> </LinearLayout> <ImageView android:id="@+id/ivthumbNail" android:src="@drawable/placeholder" android:layout_centerHorizontal="true" android:layout_below="@+id/llHeader" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <ImageButton android:id="@+id/btnCCW" android:src="@drawable/ccw_rotate_btn" android:layout_alignLeft="@+id/llHeader" android:layout_below="@+id/llHeader" android:layout_width="48dip" android:layout_height="48dip" /> <ImageButton android:id="@+id/btnCW" android:src="@drawable/cw_rotate_btn" android:layout_alignRight="@+id/llHeader" android:layout_below="@+id/llHeader" android:layout_width="48dip" android:layout_height="48dip" /> </RelativeLayout> This gives a title / checkbox, under this is an imageview with a button either side of it. With the buttons I can rotate the image clockwise or counter clockwise by 90 degrees, the routine that performs the rotation and scaling of the images: public Bitmap scaleAndRotateImage(boolean blnShow) { try{ BitmapFactory.Options bfo = new BitmapFactory.Options(); bfo.inSampleSize = 4; Bitmap bmpData = BitmapFactory.decodeFile(m_strFilename, bfo); if ( m_intOriginalWidth == 0 && m_intOriginalHeight == 0 ) { m_intOriginalWidth = bmpData.getWidth(); m_intOriginalHeight = bmpData.getHeight(); int intScaledWidth = clsWallpaper.m_intScrWidth; float fltAspectRatio = (float)bmpData.getHeight() / (float)bmpData.getWidth(); int intScaledHeight = (int)((float)intScaledWidth * fltAspectRatio); m_fltScaleWidth = ((float)intScaledWidth) / ((float)m_intOriginalWidth); m_fltScaleHeight = ((float)intScaledHeight) / ((float)m_intOriginalHeight); } // Apply the scale to the matrix Matrix mtx = new Matrix(); mtx.postScale(m_fltScaleWidth, m_fltScaleHeight); // Apply the rotation angle to the matrix mtx.postRotate(m_intTotalAngle); // Get the scaled and maybe rotated version of the bitmap Bitmap bmpScaled = Bitmap.createBitmap(bmpData, 0, 0, m_intOriginalWidth, m_intOriginalHeight, mtx, true); if ( blnShow == true && bmpScaled != null ) { m_drwThumbnail = new BitmapDrawable(bmpScaled); Activity a = (Activity)m_ivThumbnail.getContext(); a.runOnUiThread(updateThumbnail); } return bmpScaled; } catch( Exception ex ) { Log.e( TAG, "rotateThumbnail", ex ); } return null; } The strange this is when the image is rotated the scaled version is smaller than it is supposed to be, if I scroll the listview so the item goes out of view then scroll it back into view the item comes back with the image of the correct size. Is they're anything I can do about this? -- Regards, Sy -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en