Wie kann ich eine ImageButton
erhalten, die eine feste Höhe hat und nur so breit ist, wie es nach dem Verhältnis des Quellbildes benötigt?Padding von ImageButton entfernen
habe ich versucht, die folgenden:
<ImageButton
android:layout_width="wrap_content"
android:layout_height="8pt"
android:minWidth="0pt"
android:scaleType="fitCenter"
android:adjustViewBounds="true"
android:src="@drawable/list_download"
android:background="@android:color/black"
android:padding="0pt"/>
I set Hintergrund auf Schwarz nur die Grenzen der es um genau zu sehen, und here ist das Ergebnis.
Ich habe einige Lösungen gesehen, die vorschlagen, negative Polsterungen zu verwenden, aber es ist keine elegante Lösung. Es sollte einen besseren geben.
Ich versuchte ähnliche Konfigurationen auf einem ImageView
auch, aber es hatte auch zusätzliche Polsterung. Es ist also kein ImageButton
spezifisches Problem (d.h. es bezieht sich nicht auf this Neun-Patch-Problem).
EDIT: Wenn ich scaleType
von fitCenter
zu fitStart
, dann ist das Ergebnis wie this ist ändern. Es gibt also eine minimale Breite.
Meinst du die linke und rechte Polsterung? –
@Rod_Algonquin ja. Für 'fitCenter', links und rechts. Für 'fitStart', nur richtig. – ram
Dies ist reparierbar, indem Sie stattdessen ein Vektor-XML-Bild verwenden, wo Sie die Breite/Höhe des Bildes innerhalb der XML-Datei angeben können (so einfach), auch müssen Sie es nicht skalieren, da Vektor bereits skalierbar ist. –