estoy configurando imágenes de fondo en mis botones personalizados. Hice una captura de pantalla para mi aplicación y mencioné que cuando estoy usando "wrap_content" para el ancho y alto del botón, el botón se estira. Cuando estoy arreglando un tamaño en dp, se verá bien (por ejemplo: en mi carpeta mdpi tengo iconos de 48x48px, así que pongo 48dp de ancho y alto). ¿Puedes explicarme por qué?botones imágenes de fondo estiradas (uso de wrap_content o dp)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/definition_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="5dp"
android:layout_alignParentTop="true" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/buttons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dp" >
<Button
android:id="@+id/addToFavorites"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/favorites_button" />
<Button
android:id="@+id/fontup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/fontup_button" />
<Button
android:id="@+id/fontdown"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/fontdown_button" />
<Button
android:id="@+id/comment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/comment_button" />
<Button
android:id="@+id/speak"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/speak_button" />
</LinearLayout>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@id/buttons">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image_frame"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<WebView
android:id="@+id/webView1"
android:layout_below="@id/image_frame"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>
</RelativeLayout>
El código anterior muestra mi archivo XML. Puede consultar este enlace para ver una captura de pantalla de mi problema: https://www.dropbox.com/s/phnxt5p335ltqef/buttons_icon_altered.png
Se ven bien en mi Samsung Galaxy Tab 10.1 tableta (con pantalla mdpi), pero cuando abro la misma aplicación en otro teléfono móvil con una pantalla mdpi, ocuparán un gran tamaño o tomarán un buen espacio porque "dp" es una unidad dinámica. – Anthony
sí. También porque el tamaño de la pantalla entra en la imagen. Su pestaña tendrá una pantalla extra grande. En ese caso, la imagen se estira proporcionalmente en cada dirección, por lo tanto, se ve bien. –
¿De modo que la tableta y el teléfono móvil (con el mismo ppp) pero diferentes tamaños de pantalla utilizarán los mismos iconos de 48x48px? – Anthony