2016-04-12 4 views
0

Dies ist, wie es aussieht:Bild in dem Layout ist nicht die richtige Größe

enter image description here

ich ein Bild zu meinem Layout hinzugefügt habe. Da das Bild sehr klein war und in der Mitte meines Bildschirms endete und nicht die gesamte Breite des Bildschirms ausfüllte, musste ich es ausstrecken. Damit dehnen sich natürlich auch die Buchstaben aus, wodurch es schlecht aussieht. Ich weiß, dass dies nicht fixierbar ist. Jedes Bild muss gestreckt werden, also sind die Farben in Ordnung, aber die Buchstaben sind danach immer etwas verschwommen. Wenn das überhaupt keine Lösungen hat, sag es mir einfach, damit ich das weiß. Wenn Sie denken, dass Sie wissen, wie Sie das beheben können, helfen Sie bitte.

Glauben Sie nicht, es ist relevant, aber das ist der Code, den ich das Bild mit hinzugefügt: Scaletype = „fitXY“ und ersetzen Sie den Android: layout_width = "

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context="com.example.rodekruis.MainActivity"> 


    <ImageView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:src="@drawable/rkz_logo4" 
      android:layout_marginBottom="30dp" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:scaleType="fitXY" 
     /> 
+0

Die einfachste und vielleicht einzige Lösung ist es, bevor sie in Photoshop zu bearbeiten oder mit diesem Dinge ähnlich Online-Photoshop: http://www.sumopaint.com/home/ –

+0

dies ist ein Problem, das Sie immer wird stolpern. Sie müssen Ihre Bilder an alle Bildschirme anpassen. schaue hier: http://developer.android.com/guide/practices/screens_support.html. Das heißt, Sie müssen verschiedene Bilder in den Layout-Ordnern abhängig von der Bildschirmgröße/Dichte setzen ... – Opiatefuchs

+0

android: scaleType = "center" oder android: scaleType = "centerInside" oder android: scaleType = "centerCrop" –

Antwort

0

Versuchen Sie, die Attribute android zu entfernen fill_parent“auf android: layout_width = "wrap_content"

<ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/rkz_logo4" 
     android:layout_marginBottom="30dp" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
/> 
+0

Das verkleinert das Bild auf eine kleinere Größe. Alles ist klar, aber es ist nicht breit genug, um meinen Bildschirm von links nach rechts zu füllen, was ich will. –

+0

Sie können in Bitmap umwandeln, Bitmap skalieren und programmgesteuert setzen – artemiygreg

0

MyImageView.class erstellen

public class MyImageView extends ImageView { 

public final static int WIDTH_IMAGE = 640; 
public final static int HEIGHT_IMAGE = 200; 
public MyImageView(Context context) { 
    super(context); 
} 

public MyImageView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
} 

public MyImageView(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
} 

@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
    int width = MeasureSpec.getSize(widthMeasureSpec); 
    int height = width * HEIGHT_IMAGE/WIDTH_IMAGE; 
    setMeasuredDimension(width, height); 
} 
} 

in xml

<?xml version="1.0" encoding="utf-8"?> 
<your.package.MyImageView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/image_banner" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:src="@drawable/rkz_logo4" 
android:layout_marginBottom="30dp" 
android:layout_alignParentTop="true" 
android:layout_centerHorizontal="true"/> 
+0

Ich habe den umgekehrten Kommentar zu einem anderen Beitrag, der Center-Ausschnitt lässt es vollständig hineinzoomen, der FitXY streckt es einfach aus. Beides nicht das gewünschte Ergebnis, aber FitXY kommt viel näher, als die Farben richtig ausgestreckt sind. –

+0

Ich aktualisiere meine Antwort –

Verwandte Themen