Android中ImageView的最大宽度和高度

所以我有一个ImageView设置

android:maxHeight="100px" android:maxWidth="250px" android:minHeight="100px" android:minWidth="250px" android:scaleType="centerInside" 

此图像视图用于显示从图库或相机中获取的图片。 在这两种情况下,图像不会resize以适应imageview内部,它只是根据需要拉伸空间。

任何想法如何让它留在这些界限内?

 <?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> 

尝试adjustViewBounds属性:

 android:adjustViewBounds="true" 

除了设置宽度和高度的显式值之外,您还将layout_heightlayout_height设置为wrap_content 。 相反,您应该将layout_width和layout_height设置为某个数字值。 另外,使用dp而不是px。 请参阅支持多种屏幕尺寸 。

你有没有尝试android:scaleType =“fitCenter” ? 此外,视图的维度不应像Mayra指出的那样设置为wrap_content

尝试包括这个: xmlns:android="http://schemas.android.com/apk/res/android"例如:

 <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" />