android 9-Patch-Grafik skaliert nicht in der Bildansicht

7

Ich habe

%Vor%

Das erste Bild ist ein Bild fester Größe, das nicht skaliert werden sollte. Das Bild rechts davon sollte horizontal auf den maximalen Platz skalieren. Die Quelle verweist auf eine gültige .9.png-Datei. Leider taucht es immer nur in seiner Originalgröße auf. Welche Eigenschaft muss ich einstellen? Ist ImageView überhaupt das richtige Objekt?

Danke, A.

    
AndyAndroid 09.03.2011, 08:00
quelle

4 Antworten

22

Verwenden Sie stattdessen android:background . Und wenn es nur eine Unterstreichung ist, können Sie View und nicht ImageView verwenden. Um den Rest des Bildschirms zu füllen, können Sie stattdessen TableLayout verwenden.

Stellen Sie außerdem sicher, dass Ihr 9-Patch korrekt ist. Die 1px Seiten müssen schwarz sein. # 000

    
trgraglia 09.03.2011, 08:03
quelle
50

Füge einfach android:scaleType="fitXY" zu deinem ImageView hinzu. Zum Beispiel für myimage.png:

%Vor%     
almaz_from_kazan 17.08.2012 12:19
quelle
1

Vergewissern Sie sich auch, dass Ihre Skalierungslinien an den Seiten nicht bis zu den Ecken des Bildes reichen. Ich wusste, dass es keinen Sinn machte, dort schwarze Pixel zu sehen, aber ich dachte, dass Android sie ignorieren würde, aber es verhindert tatsächlich, dass die Skalierung funktioniert. Es gibt Ihnen auch die Fehlermeldung "ERROR: 9-Patch-Bild xxx.9.png missformed" im Ausgabefenster, aber Sie haben dies möglicherweise nicht bemerkt. Sobald ich die Pixel in den Ecken herauszog, fing es für mich an zu arbeiten.

    
Brian Rak 30.10.2013 18:08
quelle
0

Versuchen Sie es mit setImageResource (9patchResourceID) anstelle von setImageBitmap oder setImageBackground und es funktioniert:)

    
Shilpi 16.10.2015 07:36
quelle

Tags und Links