2016-07-20 8 views
3

Ich habe this animation/code wo ein Tippen auf das Foto vergrößert es auf den Vollbild, während der Rest des Bildschirms schwarz wird. Wenn ich this banana stock photo verwende, fällt die Größe groß genug aus. enter image description here Wenn ich jedoch Bilder aus dem Internet mit einer API ziehe, werden die Bilder sehr klein. enter image description here Ich habe versucht, die Größe des Bildes zu überprüfen und es scheint nicht so klein zu sein. Die ist tatsächlich h: 89 und w: 273 Pixel beim Herunterladen von der Quelle.Bild in ImageView erscheint kleiner als erwartet (Android)

//pulling the image and finding its sizes 
Glide.with(getContext()).load(currentFood.getImageUrl()).into(ivFullScreen); 
    int ih=ivFullImage.getMeasuredHeight();//height of imageView = 1440 
    int iw=ivFullImage.getMeasuredWidth();//width of imageView = 2464 
    int iH=ivFullImage.getDrawable().getIntrinsicHeight();//original height of underlying image = 3332 
    int iW=ivFullImage.getDrawable().getIntrinsicWidth();//original width of underlying image = 4442 
    Toast.makeText(getContext(), "view height: " + ih + " view width: " + iw + " image height: " + iH + " image width: " + iW, Toast.LENGTH_LONG).show(); 
The Toast showed that the `ivFullImage` size is h:1440 and w:2464 and the image's size is h:3332 and w:4442. 

XML:

<LinearLayout android:id="@+id/llFullScreen" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#000" 
    android:alpha="0.0"> 
</LinearLayout> 
<ImageView android:id="@+id/ivFullImage" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:src="@drawable/bananas1" 
    android:scaleType="centerInside" 
    android:visibility="invisible" 
    /> 
+1

Was ist die Auflösung dieses Telefons/Emulators? wenn es 1920x1080 oder ähnlich ist, scheint das Bild in der richtigen Größe zu sein ... – Salem

+0

Eigentlich habe ich dein 'ImageView' mit Flasche ausprobiert und arbeite perfekt. Kannst du versuchen, 'android: adjustViewBounds =" true "' und 'android: scaleType =" fitXY "' zu deinem 'ImageView' hinzuzufügen –

+0

@Salem Ich betreibe ein Samsung Galaxy S7 (1440 x 2560 Pixel) – stumped

Antwort

1

einfach anzupassen versuchen android:adjustViewBounds="true" Attribut zu Ihrem ImageView hinzuzufügen:

<ImageView android:id="@+id/ivFullImage" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:src="@drawable/bananas1" 
    android:scaleType="centerInside" 
    android:adjustViewBounds="true" /> 

Weitere Informationen:

+0

Es sieht immer noch gleich und klein – stumped

+0

Arbeitete mit dem Entfernen von scaleType und Ändern der Y-Wert des finalBounds-Offset – stumped

+0

@stumped mein Freund ich bin froh, Ihr Problem zu beheben –

0

Wenn der Emulator/Gerätegröße zu groß ist, kann es natürlich sein, dass das Bild klein aussehen. Obwohl ich sehen kann, dass Sie das Bild statisch aus dem XML mit android:src="@drawable/bananas1" und nicht dynamisch aus dem Code hinzufügen. Wenn Sie ein Bild aus dem Internet herunterladen und fügen Sie, was Sie tun können, um Image Ihres Layouts aus dem Code ist anrufen und dann das Bild erhalten Sie von der URL hinzufügen möchten, müssen Sie

ImageView mImage = (ImageView) findViewById(R.id.ivFullImage); 
//get the image from the url using the library you have, convert to bitmap 
mImage.setImageBitmap(yourImageInBitmap); 

Auch in Ihrem XML, müssen Sie die Breite und Höhe des Imageview definieren, um die Abmessungen des Bildes Sie gehen zu legen, indem er sagte

android:layout_width="wrap_content" 
android:layout_height="wrap_content"