web-dev-qa-db-de.com

Wie kann ich das Image in imagebutton auf den gesamten Bereich der Imagebutton strecken?

Hier ist ein Bild, das Ihnen helfen wird, mein Problem zu verstehen:

It's a "1"

Ich möchte das in ImageButton gezeigte Bild auf den gesamten Bereich der ImageButton..__ strecken. Wie Sie sehen, nimmt das Bild mit der Nummer 1 nur etwa 95% der ImageButton und Sie können auch die Grenzen der ImageButton sehen.

Ich möchte immer noch den Bild-Button-Stil beibehalten

So verwende ich ImageView:

<ImageButton
    Android:id="@+id/secondActivityBbuttonDownRight"
    Android:layout_width="0dip"
    Android:layout_height="match_parent"
    Android:layout_weight="0.5"
    Android:scaleType="fitStart"
    Android:src="@drawable/111" />

Ich glaube, ich habe herausgefunden, was mein Problem ist ... Ich brauche eine benutzerdefinierte Komponente, die nur ein Bild enthalten kann und einen Klickeffekt hat.

19
user2051993

ImageButton ist ImageView.
Wenn Sie möchten, dass Ihr Bild die Schaltfläche ausfüllt
als set Android:scaleType="fitXY", so wird das Bild, das Sie in Android:src einstellen, auf die gesamte Bildschaltfläche gedehnt.

ImageButton hat einen Hintergrund unter Ihrem Bild und der Auffüllung.
Wenn Sie keinen Hintergrund wünschen
set Android:background="@Android:color/transparent".
Wenn Sie kein Auffüllen möchten
Android:padding="0" setzen oder Hintergrund ohne Auffüllen setzen.

55
Leonidos

Sie können auch verwenden

Android:scaleType="centerCrop"
Android:padding="0dp"
7
zackygaurav

Verwenden Sie den folgenden Code: -

<ImageButton
        Android:id="@+id/secondActivityBbuttonDownRight"
        Android:layout_width="0dip"
        Android:layout_height="match_parent"
        Android:layout_weight="0.5"
        Android:scaleType="fitStart"
        Android:background="@drawable/111" />
2
duggu

Android:scaleType="fitXY" getestet und funktioniert einwandfrei.

1
danny117

Sie sollten ein 9-Patch-Bild erstellen, damit das Bild korrekt auf eine ImageButton passt, falls Sie es strecken müssen, das Bild jedoch nicht verzerrt werden soll.

Um eine Schaltfläche mit einem Bild zu erhalten, das es vollständig bedeckt, können Sie Folgendes verwenden:

<ImageButton Android:id="@+id/iconBtn"
  Android:layout_width="64dip"
  Android:layout_height="64dip"
  Android:src="@drawable/icon_button"
  Android:scaleType="fitCenter"
  Android:background="#00000000"/>

Ein vollständiges Tutorial zum Erstellen von Schaltflächen mit benutzerdefinierten Skins und zum Verwenden von Auswahlelementen zum Verwalten ihrer Zustände finden Sie in einem Tutorial, das ich vor einiger Zeit hier geschrieben habe. (Erstellen eines benutzerdefinierten Android-Buttons mit anpassbarer Skin) .

1
Andrea Bresolin

Wenn Ihr Bild "111" selbst keine Auffüllung hat, verwenden Sie einfach Android: Hintergrund "@ drawable/111"

0
Josh