GOOGLE ADS

Sonntag, 1. Mai 2022

Größe des Hintergrundbilds der Android-Schaltfläche

Ich habe eine persönliche Tastatur erstellt und das Hintergrundbild auf eine der Schaltflächen eingestellt, aber danach unterscheidet sich die Schaltflächengröße (mit meinem Hintergrund) voneinander.

<Button
android:id="@+id/buttonShift"
android:paddingTop="0dip"
android:textSize="22sp"
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="1"
android:textStyle="bold" />

Hintergrund einstellen:

<Button
android:id="@+id/buttonShift"
android:background="@drawable/sym_keyboard_shift_off"
android:paddingTop="0dip"
android:textSize="22sp"
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="1"
android:textStyle="bold" />

Bitte sehen Sie sich den Bildschirm der Schaltflächen an

Vor:

Geben Sie hier die Bildbeschreibung ein

Gemäß:

Geben Sie hier die Bildbeschreibung ein

Bildgröße: 106x68


Lösung des Problems

Ich würde dir raten:

  • Ändern Sie Ihr Drawable ein wenig - entfernen Sie den orangefarbenen rechteckigen Hintergrund, behalten Sie nur den Pfeil mit transparentem Hintergrund (von jetzt an werde ich den Namen shift_off_arrow als Namen des beschriebenen drawable verwenden). Der transparente Hintergrund sollte nur so groß sein, wie er benötigt wird, um den gesamten Pfeil zu erhalten. Nicht größer.


  • Definieren Sie eine neue Farbe - die Farbe Ihres orangefarbenen Hintergrunds (von diesem Moment an gehe ich davon aus, dass Sie sie definiert haben, und ich werde den Namen orange_background verwenden )


  • Verwenden Sie ImageButton anstelle von Button (genau wie Satnam Singh und Hamid Shatu in einem Kommentar zu Ihrer Frage gesagt haben)


  • Verwenden Sie Code wie diesen (manipulieren Sie mit allen Polsterungen, um die Größe des Pfeils genau so zu erhalten, wie Sie es möchten):


  • <ImageButton
    android:id="@+id/buttonShift"
    android:background="@color/orange_background"
    android:src="@drawable/shift_off_arrow"
    android:paddingTop="0dip"
    android:layout_height="match_parent"
    android:layout_width="0dp"
    android:layout_weight="1" />

    Keine Kommentare:

    Kommentar veröffentlichen

    Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

    Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...