Is this a bug or is there a property that needs setting ?

On Fri, Jul 22, 2011 at 7:27 AM, Simon Platten <[email protected]
> wrote:

> Has anyone else encountered this problem?
>
> On Thu, Jul 21, 2011 at 7:54 PM, Simon Platten <
> [email protected]> 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to