0

Ich habe eine view pager erstellt, es hat eine Bilder, die vom Server kommt. Die Auflösung des Bildes ist 980X551.Wie strecke ich das Bild, ohne das Seitenverhältnis des Bildes in Android zu stören?

Ich muss dieses Bild auf der Hälfte des Bildschirms anzeigen.

In ViewPage-Layout, legte ich die widthXheight des Bildes auf .

und in meinem MainActivity verwende ich Gewicht, um die Höhe von ViewPager zu definieren.

Das Problem ist, dass, In meinem Main Activity, wenn ich die Höhe des Bildes erhöhen, sein Start Stretching, und ich brauche diese in Halb Seite zu zeigen., Und es sah ganz strecken, wenn ich seine Höhe Bildschirm um die Hälfte reduziert .

leitet mich bitte, wie Bild strecken, ohne das Seitenverhältnis des Bildes in Android zu stören

anzeigen Pager-Code

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 


    <ImageView 
     android:id="@+id/image_view" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:adjustViewBounds="true" 
     android:scaleType="fitCenter" 
     /> 

</RelativeLayout> 

Hauptaktivität

<FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="6" 
     android:id="@+id/frameLayout2" 

     > 

     <android.support.v4.view.ViewPager 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/viewPager" 
      android:adjustViewBounds="true" 
      android:scaleType="fitCenter" 
      /> 
+0

Können Sie komplette Layout-Dateien zur Verfügung stellen? Sind Sie sicher, dass das Bild gestreckt und nicht beschnitten ist? – skywall

+0

Ja, es ist gestreckt, ich füge den Layoutcode hinzu – Kirmani88

Antwort

1

Verwenden Pisasso library für Android

Unter vielen anderen Optionen ermöglicht es Ihnen, Bilder zu laden und zu skalieren.

könnte ein Code-Beispiel sein:

Picasso.with(context) 
    .load(url) 
    .resize(screeWidth/2, screen height/2) 
    .centerCrop() 
    .into(imageView); 
1

centerCrop Option Ihre Situation passen könnte. Und adjustViewBounds wird nicht benötigt.

wie folgt aus:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:orientation="vertical" android:layout_width="match_parent" 
       android:layout_height="match_parent"> 


    <ImageView 
      android:id="@+id/image_view" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:scaleType="centerCrop"/> 

</RelativeLayout>