Ist es möglich, den Rand oder die Auffüllung für das Bild festzulegen, das wir mit der Option android:drawableLeft
?
Antworten
Zu viele Anzeigen?Eine weitere einfache Lösung kann durch die Einfügung der Ebenenliste erreicht werden
layered_drawable
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<inset
android:insetRight="30dp"
android:drawable="@drawable/ic_air_date">
</inset>
</item>
</layer-list>
Schaltfläche in XML
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/layered_drawable"
android:text="something" />
Sie sollten die Verwendung von layer-list
Erstellen Sie eine zeichenbare Datei wie diese, nennen Sie sie ic_calendar.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
</shape>
</item>
<item android:right="10dp">
<bitmap android:gravity="center_vertical|left"
android:src="@drawable/ic_calendar_16dp"
android:tint="@color/red"
/>
</item>
</layer-list>
Unter Layout-Datei,
<TextView
android:id="@+id/tvDate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_calendar"
android:textColor="@color/colorGrey"
android:textSize="14sp"
/>
Sie können ein Padding für die Schaltfläche verwenden und Sie können mit drawablePadding spielen
<Button
style="@style/botonesMenu"
android:padding="15dp"
android:drawablePadding="-15dp"
android:text="@string/actualizarBD"
android:textAlignment="gravity"
android:gravity="center"
android:layout_row="1"
android:layout_column="0"
android:drawableTop="@drawable/actualizar"
android:id="@+id/btnActualizar"
android:onClick="actualizarBD" />
Sie können ein bestimmtes Padding verwenden, je nachdem wo Sie Ihr Drawable platzieren, mit Android:paddingLeft="10dp" oder Android:paddingBottom="10dp" oder Android:paddingRight="10dp" oder Android:paddingTop="10dp"
Sie können verwenden android:drawableLeft="@drawable/your_icon"
um festzulegen, dass die Zeichenfläche auf der linken Seite angezeigt werden soll. Um ein Padding für das Drawable zu setzen, sollten Sie die android:paddingLeft
o android:paddingRight
um die linke bzw. rechte Auffüllung festzulegen.
android:paddingRight="10dp"
android:paddingLeft="20dp"
android:drawableRight="@drawable/ic_app_manager"