ImageView边界超出了图像范围

时间:2016-08-25 15:41:41

标签: android android-layout imageview

我将ImageView定义为:

<ImageView
    android:id="@+id/imageView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical|top"
    android:layout_marginBottom="50dp"
    android:layout_marginTop="-80dp"
    android:layout_toRightOf="@+id/prem_BACK"
    android:layout_weight="0"
    android:clickable="true"
    android:paddingBottom="0dp"
    android:src="@drawable/tester"
    android:adjustViewBounds="false" />

我在Android Studio的布局预览中看到了这个:

enter image description here

注意ImageView的界限。是否可以使边界沿着我正在显示的图像的实际边缘?

3 个答案:

答案 0 :(得分:1)

<ImageView
android:id="@+id/imageView"
android:src="@drawable/tester"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"/>

将scaleType添加到centerCrop应该为您修复它。您可以根据需要将centerCrop更改为任何其他建议。

答案 1 :(得分:0)

您必须将scaletype设置为fitCenter

<ImageView
        android:id="@+id/imageView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|top"
        android:layout_marginBottom="50dp"
        android:layout_marginTop="-80dp"
        android:layout_toRightOf="@+id/prem_BACK"
        android:layout_weight="0"
        android:clickable="true"
        android:paddingBottom="0dp"
        android:src="@drawable/tester"
        android:adjustViewBounds="false"
        android:scaleType="fitCenter"
     />

答案 2 :(得分:-2)

我认为,图像太大而你重新封装它所以imageview布局会比你想要的要大。裁剪图像似乎是您可以做的唯一解决方案。您可以尝试缩放