所以我有一个用
设置的ImageViewandroid:maxHeight="100px"
android:maxWidth="250px"
android:minHeight="100px"
android:minWidth="250px"
android:scaleType="centerInside"
此图像视图用于显示从图库或相机获取的图片。在这两种情况下,图像都不会调整大小以适应图像视图,它只是根据需要扩展其空间。
知道怎么让它留在那些界限内吗?
<?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>
答案 0 :(得分:192)
尝试adjustViewBounds
属性:
android:adjustViewBounds="true"
答案 1 :(得分:7)
除了为宽度和高度设置显式值之外,您还layout_width
和layout_height
都设置为wrap_content
。相反,您应该将layout_width和layout_height设置为某个数字值。另外,使用dp而不是px。请参阅supporting multiple screen sizes。
答案 2 :(得分:6)
你试过android:scaleType="fitCenter"吗?此外,Mayra
指出,视图的尺寸不应设置为wrap_content
答案 3 :(得分:0)
尝试包含此内容: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"
/>
答案 4 :(得分:0)
虽然已经提到了所有答案,但需要补充
android:adjustViewBounds="true"
还应注意的是,如果使用 android:background
设置图像,缩放将不起作用。要允许缩放,请使用 src
或 srcCompat
之类的
<!-- Will not work -->
android:background="@drawable/my_image"
<!-- Works -->
android:src="@drawable/my_image"
<!-- Works -->
app:srcCompat="@drawable/my_image"