Ho un layout semplice:Da dove viene lo spazio extra attorno al mio pulsante?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:id="@+id/acquiring_signal_layout">
<ProgressBar android:id="@+id/ProgressBar01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/acquiring_signal_label"
android:text="@string/acquiring_signal"
android:layout_width="fill_parent"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingLeft="5dp"/>
</LinearLayout>
<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:clickable="true"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:apiKey="..."
android:layout_weight="1"/>
<Button
android:text="@string/send_button"
android:id="@+id/SendButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Button>
</LinearLayout>
Funziona bene, tranne quando si esegue il rendering, il pulsante in basso sembra avere molti (circa il 5, direi) pixel di nero margine/spazio circostante . L'impostazione del margine del pulsante non sembra avere alcun effetto. Cosa sta succedendo?
Dalla documentazione, gli attributi Drawable {Left, Right, etc} disegnano elementi * all'interno * del pulsante, non nella sua periferia. Ad esempio, un'icona all'interno del pulsante potrebbe essere visualizzata con DrawableLeft. Sto parlando dello spazio nero * al di fuori del widget, ma ancora reso dal pulsante. –
sì, l'immagine utilizzata ha una sezione trasparente all'esterno di essa. questo fa ancora parte del "pulsante" anche se non puoi vederlo. Prova a impostare android: background = "# FFFF0000" e vedrai cosa intendo. –