3 Stimmen

Android Bitmap in ImageView zentrieren

Ich habe ein ImageView, das ein Bitmap zeigt. Wenn ich mein Bitmap dem ImageView setze, ist es nicht zentriert. Ich habe auch versucht, den scaleType auf center, centerCrop, centerInside zu setzen.

Das ist mein ImageView im Layout:

    android:id="@+id/xyz"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="15dp"
    android:layout_marginTop="3dp"
    android:layout_weight="1.03"
    android:background="#FFFFFFFF" 
    android:adjustViewBounds="true"
    android:scaleType="fitXY"

EDIT: Das ist der Code, der das Bitmap skalieren:

private void scaleImage() {
    Bitmap bitmap = getHostPage().getBackgroundDrawing();

    int width = bitmap.getWidth();
    int height = bitmap.getHeight();
    int bounding = dpToPx(250);
    float xScale = ((float) bounding) / width;
    float yScale = ((float) bounding) / height;

    Matrix matrix = new Matrix();
    matrix.postScale(xScale, yScale);

    Bitmap scaledBitmap = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);
    width = scaledBitmap.getWidth(); 
    height = scaledBitmap.getHeight(); 
    BitmapDrawable result = new BitmapDrawable(scaledBitmap);

    getHostPage().setBackgroundDrawing(result.getBitmap());

    LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) drawView.getLayoutParams(); 
    params.width = width;
    params.height = height;
    drawView.setLayoutParams(params);

}

private int dpToPx(int dp) {
    float density = hostPage.getHostActivity().getApplicationContext().getResources().getDisplayMetrics().density;
    return Math.round((float)dp * density);
}

bitmap

1voto

meysam Punkte 684

Verwenden Sie dies:

android:gravity="center|center_vertical"
android:layout_gravity="center|center_vertical"

1voto

Carshtokky Punkte 76

Fügen Sie dies in Ihren Bildanzeige-XML-Code ein :

android:layout_centerHorizontal="true"

Ich denke, es könnte Ihnen helfen.

Vielen Dank.

0voto

msevgi Punkte 4738
    android:id="@+id/xyz"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="15dp"
    android:layout_marginTop="3dp"
    android:layout_weight="1.03"
    android:background="#FFFFFFFF" 
    android:gravity="center"
    android:adjustViewBounds="true"
    android:scaleType="fitXY"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X