Schreckliche ImageView-Bitmap-Qualität?

Ich habe einen Splash-Screen mit einem ImageView das den Teil eines Hintergrundes spielt. Unabhängig davon, ob ich meine Bitmap skaliert habe (was ich tue), ist die Bildqualität schrecklich. Ich denke, es reduziert die Farbtiefe. Ich habe mich schon so gut drawable , und ein Vorschlag war, mein Bild in raw statt zu drawable aber das half auch nicht. Hier ist ein Screenshot:

Bildbeschreibung hier eingeben

  • Anhaltender Service
  • Rufnummer ohne Aufforderung
  • Listview löschen und Refresh - android
  • Deaktivieren Sie das Scrollen in der Listenansicht
  • Warum gibt AudioRecord.getMinBufferSize ERROR_BAD_VALUE (-2) zurück?
  • So verhindern, dass Gegenstände beim Scrollen der Recycler-Ansicht dupliziert werden
  • Was genau ist hier los und wie kann ich das beheben?

    EDIT: Ich habe diese Bitmap nicht programmgesteuert angewendet, also gibt es keinen relevanten Java-Code. Hier ist der XML-Code für diese Aktivität:

     <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/RelativeLayoutSplash" android:layout_width="match_parent" android:layout_height="match_parent" android:drawingCacheQuality="high" android:orientation="vertical" android:padding="@dimen/splash_padding" android:scrollbarAlwaysDrawVerticalTrack="true" tools:context=".SplashActivity" > <ImageView android:id="@+id/ImageViewBg" android:layout_width="match_parent" android:layout_height="match_parent" android:contentDescription="@string/logo_description" android:scaleType="centerCrop" android:src="@drawable/splash_bg_register" /> <ImageView android:id="@+id/ImageViewLogo" android:layout_width="match_parent" android:layout_height="wrap_content" android:contentDescription="@string/logo_description" android:maxHeight="@dimen/logo_maxheight" android:maxWidth="@dimen/logo_maxwidth" android:layout_centerVertical="true" android:src="@drawable/logo" /> <TextView android:id="@+id/TextViewCopyright" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:text="@string/copyright" android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="@color/white_50" android:textSize="@dimen/copyright_size" /> </RelativeLayout> 

    EDIT: Ich habe versucht getWindow().setFormat(PixelFormat.RGBA_8888); Wie vorgeschlagen, was einen sichtbaren Unterschied gemacht hat, aber die Streifenbildung ist noch vorhanden. Dies ist das Bild, das ich als Hintergrund verwende.

  • Reconnect to Debug-Prozess auf Android mit Eclipse mit ADT
  • Wie kann ich verschiedene Arten von Ladungen in einem Android-Gerät simulieren?
  • Wie mache ich einen Android EditView 'Done' Button und verstecke die Tastatur, wenn geklickt?
  • So legen Sie Text in einem EditText fest
  • Wie bekomme ich die Standardfarben auf Android
  • ProgressBar in ActionBar auf Android L Vorschau
  • 8 Solutions collect form web for “Schreckliche ImageView-Bitmap-Qualität?”

    Banding tritt meist auf, wenn das Seitenverhältnis des Bildes gestört wird.

    Sie könnten versuchen, eine der folgenden:

    1. Machen Sie Ihr Bild .9.png . In diesem Fall wird es automatisch beheben alle Strecken und kümmern sich um Streifenbildung.

    2. Tragen Sie oberflächliche Dithering auf Ihr Bild, die eine ungewöhnliche Streifenbildung verhindern könnte.

       <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/b1" android:tileMode="repeat" android:dither="true" /> 

    Was sind die Dimensionen deines Bildes? Und was ist das Gerät? Was ich vermute, ist, dass die Bildgröße nicht mit der Größe des Displays übereinstimmt und es sich um einen falschen Ressourcen-Zeichnungsordner handelt. Das Bild sieht ziemlich skaliert aus. Diese Artikel sollen Ihnen helfen, die Bildauflösung und den Ressourcenordner für verschiedene Bildschirme auszuwählen.

    http://developer.android.com/guide/practices/screens_support.html

    http://developer.android.com/training/multiscreen/index.html

    Sie müssen das Fensterfarbformat einstellen. In deiner Aktivität sage so etwas:

     getWindow().setFormat(PixelFormat.RGBA_8888); 

    Ich vermute, die Größe des Bildes ist kleiner als der Bereich, in dem das Bild angezeigt wird. So kann das Bild skalieren und die Qualität verlieren.

     What you can try is: 1. Either put the image of similar dimension 2. use 9 patch image ( good idea ) 

    Du musst dein Bild in verschiedene Größen verkleinern und diese in entsprechende Zeichnungsordner unter res/

    Versuche Antialias, das dir das Problem lösen kann.

    Erstellen Sie eine Bitmap, die mit der unten stehenden xml zeichnen kann.

     <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/background" android:antialias="true" android:dither="true" /> 

    Was du tust, ist, das Bild in xml zu setzen, das viel mehr davon abhängt, was diese Bildauflösung unterstützt.

    Es gibt eine Reihe von Ordnern für jede unterstützte Dichte von mehreren Geräten, legte dein Bild auf einen geeigneten Ordner von dpi.

    Bitte verweisen Sie auf diesen Link http://developer.android.com/guide/practices/screens_support.html

    Siehe selben App-Symbol, wie sich verhalten sich in verschiedenen Ordner

    Beispielanwendung ohne Unterstützung für unterschiedliche Dichten, wie auf niedrigen, mittleren und hochdichten Bildschirmen gezeigt

    Beispielanwendung ohne Unterstützung für unterschiedliche Dichten, wie auf niedrigen, mittleren und hochdichten Bildschirmen gezeigt.

    Bildbeschreibung hier eingeben

    Beispielanwendung mit guter Unterstützung für unterschiedliche Dichten (es ist dichteunabhängig), wie auf niedrigen, mittleren und hochdichten Bildschirmen gezeigt.

    Tweak es einfach, indem ich das Bild ein Hintergrundbild mache. Hier ist ein Beispielcode

      <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/your_image" /> 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.