programacion - manual de android en pdf
El relleno no funciona en ImageButton (2)
El relleno solo tiene efecto en el atributo android:src
, no en el android:background
.
Establezca el primero en su imagen de botón y el último en android:background="@android:color/transparent"
En una aplicación en la que estoy trabajando, tengo varios ImageButtons. Cada ImageButton tiene un fondo y contenido en forma de dibujable. En este momento, el dibujo está en su máximo tamaño dentro de los límites del ImageButton, pero quiero que se reduzca, así que necesito agregar algo de relleno. El caso es que cuando trato de hacer eso, no tiene ningún efecto. Mi XML es el siguiente para cada ImageButton:
<ImageButton
android:id="@+id/button_zero"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dip"
android:src="@drawable/button_zero"
android:background="@drawable/button_background" />
¿Alguna idea de por qué el relleno no hace nada?
Código XML completo:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#222222"
tools:context=".Main" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<!-- Row One -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/button_zero"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dip"
android:src="@drawable/button_zero"
android:background="@drawable/button_front" />
<ImageButton
android:id="@+id/button_one"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dip"
android:src="@drawable/button_one"
android:background="@drawable/button_front" />
<ImageButton
android:id="@+id/button_two"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dip"
android:src="@drawable/button_two"
android:background="@drawable/button_front" />
<ImageButton
android:id="@+id/button_three"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dip"
android:src="@drawable/button_three"
android:background="@drawable/button_front" />
<ImageButton
android:id="@+id/button_four"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dip"
android:src="@drawable/button_four"
android:background="@drawable/button_front" />
</LinearLayout>
... same for other rows
</LinearLayout>
Tienes que agregar a tu definición de ImageButton
android:scaleType="fitCenter"
u otro tipo de escala como fitXY, porque por imagen predeterminada intenta escalar tanto como sea posible e ignora el relleno