436 Stimmen

Android:drawableLeft margin und/oder padding

Ist es möglich, den Rand oder die Auffüllung für das Bild festzulegen, das wir mit der Option android:drawableLeft ?

3voto

nicolas asinovich Punkte 2663

Einfach umgestalten:

<?xml version="1.0" encoding="utf-8"?>
<shape
        xmlns:android="http://schemas.android.com/apk/res/android">

    <corners android:radius="40dp"/>

    <solid android:color="@android:color/white"/>

</shape>

zu

<layer-list
        xmlns:android="http://schemas.android.com/apk/res/android">
    <item
            android:right="@dimen/_2dp"
            android:left="@dimen/_2dp"
            android:bottom="@dimen/_2dp"
            android:top="@dimen/_2dp"
            >
        <shape
                xmlns:android="http://schemas.android.com/apk/res/android">

            <corners android:radius="40dp"/>

            <solid android:color="@android:color/white"/>

        </shape>
    </item>

</layer-list>

1voto

user3344964 Punkte 11

Wenn die Größe der zeichenbaren Ressource festgelegt ist, können Sie wie folgt vorgehen:

<Button
    android:background="@drawable/rounded_button_green"
    style="?android:attr/selectableItemBackground"
    android:layout_height="wrap_content"
    app:layout_widthPercent="70%"
    android:drawableRight="@drawable/ic_clear_black_24dp"
    android:paddingRight="10dp"
    android:paddingLeft="34dp"
    tools:text="example" />

Das ist hier der Schlüssel:

    android:drawableRight="@drawable/ic_clear_black_24dp"
    android:paddingRight="10dp"
    android:paddingLeft="34dp"

Das heißt, die Größe der zeichenbaren Ressource plus paddingRight ist das paddingLeft.

Das Ergebnis können Sie in diesem Beispiel sehen

1voto

textView.setCompoundDrawablesWithIntrinsicBounds(AppCompatResources.getDrawable(this,drawable),null,null,null);

addressTitleView.setCompoundDrawablePadding();

-7voto

Philipe Steiff Punkte 39

Versucht, negative Auffüllungen zu verwenden

Wie:

android:paddingLeft="-8dp"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X