programacion - manual android studio avanzado
Ancho y altura máximos para ImageView en Android (4)
Así que tengo un conjunto de ImageView con
android:maxHeight="100px"
android:maxWidth="250px"
android:minHeight="100px"
android:minWidth="250px"
android:scaleType="centerInside"
Esta vista de imagen se usa para mostrar una imagen que se obtiene de la galería o cámara. En ambos casos, la imagen no se redimensiona para ajustarse a la vista de la imagen, simplemente extiende su espacio tanto como necesita.
¿Alguna idea de cómo hacerlo permanecer dentro de esos límites?
<?xml version="1.0" encoding="utf-8"?>
<EditText
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/txtDescription"
android:layout_below="@+id/txtSubject"
android:inputType="textMultiLine"
android:height="80px"
android:hint="@string/description"></EditText>
<EditText
android:layout_height="wrap_content"
android:layout_below="@+id/txtDescription"
android:layout_width="fill_parent"
android:id="@+id/txtMorada"
android:hint="@string/address" />
<ImageButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_below="@+id/txtMorada"
android:id="@+id/btGPS"
android:layout_alignParentLeft="true"
android:src="@drawable/ic_menu_compass"></ImageButton>
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_below="@+id/btGPS"
android:layout_marginTop="25px"
android:id="@+id/imgPoint"
android:src="@drawable/google_logo_small"
android:maxHeight="100px"
android:maxWidth="250px"
android:minHeight="100px"
android:minWidth="250px"
android:scaleType="centerInside"></ImageView>
<ImageButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_toRightOf="@+id/imgPoint"
android:id="@+id/btGallery"
android:layout_below="@+id/btCamera"
android:src="@drawable/ic_menu_gallery"
android:layout_alignParentRight="true"></ImageButton>
<Button
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_marginTop="10px"
android:id="@+id/btSubmit"
android:layout_below="@+id/btGallery"
android:text="@string/submit"></Button>
<ImageButton
android:layout_height="wrap_content"
android:id="@+id/btMap"
android:layout_below="@+id/txtMorada"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:src="@drawable/ic_menu_mapmode"></ImageButton>
<TextView
android:layout_below="@+id/txtMorada"
android:layout_width="wrap_content"
android:layout_toLeftOf="@+id/btMap"
android:layout_height="wrap_content"
android:id="@+id/lblNewPointLatitude"
android:text="Latitude"></TextView>
<TextView
android:layout_width="wrap_content"
android:layout_toLeftOf="@+id/btMap"
android:layout_height="wrap_content"
android:id="@+id/lblNewPointLongitude"
android:layout_below="@+id/lblNewPointLatitude"
android:text="Longitude"></TextView>
<ImageButton
android:layout_below="@+id/btMap"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_toRightOf="@+is/imgPoint"
android:id="@+id/btCamera"
android:layout_marginTop="25px"
android:src="@drawable/ic_menu_camera"
android:layout_alignParentRight="true"></ImageButton>
<Spinner
android:layout_height="wrap_content"
android:id="@+id/spCategoria"
android:layout_width="fill_parent"
android:prompt="@string/spCategoriaPrompt"></Spinner>
<Spinner
android:layout_height="wrap_content"
android:id="@+id/spSubcategoria"
android:layout_below="@+id/spCategoria"
android:layout_width="fill_parent"
android:prompt="@string/spSubcategoriaPrompt"></Spinner>
<EditText
android:layout_height="wrap_content"
android:layout_below="@+id/spSubcategoria"
android:layout_width="fill_parent"
android:id="@+id/txtSubject"
android:hint="@string/subject"></EditText>
</RelativeLayout>
</ScrollView>
¿Has probado android:scaleType="fitCenter" ? Además, las dimensiones de la vista no deberían establecerse en wrap_content
como lo señala Mayra
Intente incluir esto: xmlns:android="http://schemas.android.com/apk/res/android"
Ejemplo:
<ImageView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxHeight="400dp"
android:adjustViewBounds="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:src="@drawable/background_img"
/>
Pruebe el atributo adjustViewBounds
:
android:adjustViewBounds="true"
tiene layout_width
y layout_height
establecidos en wrap_content
, además de establecer valores explícitos para ancho y alto. En cambio, solo debe establecer layout_width y layout_height en algún valor numérico. Además, use dp en lugar de px. Vea soporte de múltiples tamaños de pantalla .