Android: Wie Sie verhindern, dass Bild wird skaliert Bildansicht oder ImageButton?
Wie kann ich verhindern, dass mein bitmap wird automatisch skaliert in einer Bildansicht oder ein ImageButton-Steuerelement, wenn Sie die Ansicht oder die Schaltfläche, gestreckt wird mit "fill_parent" oder mit "Gewicht"?
Dies wird nützlich sein, zum Beispiel, zu einem 4-button-Symbolleiste am oberen Rand des Bildschirms, wo die Tasten sind gleichmäßig verteilt, aber die Bilder in den buttons immer gestreckt, selbst wenn ich scaleType="center", das sollte verhindern, dass die Skalierung nach dem doc, aber es funktioniert nicht.
Jede Einsicht wird sehr geschätzt!
Dank,
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich festgestellt, dass bei der Verwendung von android:hintergrund automatisch skaliert das Bild, das Sie verwenden es, um die Größe der Ansicht.
Ich habe versucht mit der android:src, um das Bild in die Ansicht. Mit dem Bild hat nicht der Maßstab, aber ich konnte nicht das Bild zu zentrieren relativ zu der Größe der Ansicht.
So, ich habe versucht, die ganze Schaltfläche eigene relative layout und das ist, was ich verwendet habe:
Den ImageButton ist im hintergrund und wird immer die gleiche Größe wie das layout.
Bildansicht wird jedoch immer zentriert zu bleiben, in dem RelativeLayout und wird nicht skaliert.
Auf diese Weise die RelativeLayout selbst kann wachsen und sich bewegen und das Bild über die Schaltfläche wird immer die gleiche Größe, aber der button wird wachsen. Das Bild wird jedoch schrumpfen, wenn das Layout kleiner wird als das Bild selbst.
Ich denke, das ist, was Sie gesucht haben. Kann es einen besseren Weg, dies zu tun, aber das ist alles, was ich mit oben kommen kann jetzt.
Ändern Sie einfach Ihre drawable, anwenden einen größeren transparenten hintergrund. Sagen meine in drawable hdpi ist 41*48 px-Symbol.png . Ich erstellte ein neues Bild 60*60 Pixel mit einem transparenten hintergrund , copy-paste der vorherigen Symbol.png, und speichern Sie unter dem gleichen Namen. Auf diese Weise brauchen Sie nicht zu berühren Ihre layouts .
Dann können Sie die Taste zone größer sein, wenn Sie anwenden, eine nicht transparent android:background:
Gelten der bisherige und der neue drawable zu android:src , Sie sollten deutlich sehen, ImageButton-Bereich.
Übrigens, bei mir läuft die app im Kompatibilitätsmodus.
Wenn das Bild skaliert wird, stellen Sie sicher, dass Sie nicht ausführen Ihrer Anwendung im Kompatibilitäts-Modus (zum Beispiel, wenn Sie Ziel-Android 1.5/1.6 ohne Unterstützung von mehreren dichten und führen Sie die app auf Android 2.0.)