2010-11-18 15 views
1

Ich habe ein ImageView (image_view) in einem XML und ich habe das Layout gravity auf Mitte gesetzt und die Skalierung auf center_inside .... aber wenn ich mein komprimiertes BMP an die image_view übergeben, Es wird auf die mittlere linke Ecke des Bildschirms (im Hochformat) gestellt ... irgendwelche Ideen zu einem Workaround?Problem beim Zentrieren einer Bitmap auf einem ImageView

hier wird mich auf die Bildansicht Einstellung:

 ImageView imageView = (ImageView) findViewById(R.id.image_view); 

     imageView.setImageBitmap(bitmap565); 

ich es auch in einem Ausgabestrom komprimieren:

 try { 
      FileOutputStream fos = new FileOutputStream(filepath); 

      bitmap565.compress(CompressFormat.JPEG, 90, fos); 

      fos.flush(); 
      fos.close(); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

Dank all!

<ImageButton android:id="@+id/ImageButton01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/results" android:layout_gravity="top|center"></ImageButton><ImageView 
      android:screenOrientation="portrait" 
      android:layout_width="fill_parent" 
      android:id="@+id/image_view" 
      android:layout_gravity="center" android:layout_weight="1.0" android:layout_height="wrap_content" android:scaleType="centerInside"/> 

    <Button 
      android:screenOrientation="portrait" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal" android:layout_width="fill_parent" android:textStyle="bold" android:id="@+id/detect_face" android:text="Detect"/> 

+0

fügen Sie das XML-Layout, bitte. – Cristian

+0

bearbeitet - Entschuldigung für schlechte Formatierung – Sapp

+0

könnten Sie das komplette Layout veröffentlichen? Oder zumindest alle seine Eltern? ImageViews haben übrigens keine Schwerkraft. –

Antwort

1

können Sie Ihr Problem nur mit FrameLayout lösen.

1

Ihre ImageView ‚s layout_width ist auf fill_parent, so wird layout_gravity nicht seine horizontale Position beeinflussen innerhalb der übergeordneten. Verwenden Sie gravity anstelle von layout_gravity oder wrap_content anstelle von fill_parent.

+0

Hey - Ich habe es versucht, aber es zeigt es immer noch links von der Mitte. Ich zwinge die App dazu, eher im Hochformat als im Querformat zu sein - denkst du, dass das ein Problem ist? – Sapp

+0

Was ist der Container dieser Ansichten? Es sollte auch layout_width = "fill_parent" sein. –