I've tried all the scale type options, no effect, except that it fixes
the width and the height doesn't scale correctly.
It works exactly as I would expect in the emulator, when on my phone it
shrinks after rotation, but if I scroll out of view then back into view
its ok...very strange.
On 22/07/2011 9:45 PM, Kostya Vasilyev wrote:
Try setting a scaleType property on the ImageView, perhaps you can get
consistent results that way.
2011/7/23 Simon Platten<simonaplat...@googlemail.com>:
Is this a bug or is there a property that needs setting ?
On Fri, Jul 22, 2011 at 7:27 AM, Simon Platten
<simonaplat...@googlemail.com> wrote:
Has anyone else encountered this problem?
On Thu, Jul 21, 2011 at 7:54 PM, Simon Platten
<simonaplat...@googlemail.com> wrote:
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
--
Regards,
Sy
--
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
--
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