图像没有在imageView android内部拉伸

时间:2016-06-07 13:28:25

标签: android imageview

我正在使用根相对布局进行布局,并且当我将其设置为源时,ImageView内部的Image不适合放入图像视图,留下顶部和底部填充,这是在预览中但未在xml中定义。我想知道如何拉伸图像以完全适合ImageView。

XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#fff">
    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/place_demo_2"
        android:id="@+id/back_ground_place"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="400dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Manila Main"
        android:id="@+id/visit_place_title"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="68dp"
        android:textColor="#fff"/>
</RelativeLayout>

Preview

6 个答案:

答案 0 :(得分:3)

使用代码:

YourImageView.SetScaleType(ImageView.ScaleType.FIT_XY);

使用xml:

android:scaleType="fitXY"

另请参阅下面的快照以了解其他替代选项。 enter image description here

答案 1 :(得分:3)

android:scaleType

中使用ImageView
android:scaleType="fitXY"

检查scaleType here

的其他可用选项

答案 2 :(得分:2)

将Imageview的宽度设为wrap_content 要么 你必须将Imageview的android:scaleType设置为fitXY

答案 3 :(得分:2)

添加到ImageView attr android:scaleType="fitXY"

答案 4 :(得分:1)

您将要在XML文件中使用android:scaleType。在您获得所需的确切产品之前,您可能希望使用多种选项,但如果您不关心宽高比,则听起来您可能想要使用android:scaleType =&#34 ; fitXY&#34;

您可以在此处找到更多信息: https://developer.android.com/reference/android/widget/ImageView.ScaleType.html

以下是其他选项:

  

ImageView.ScaleType =&#34; CENTER&#34;

     
      
  • 将图像置于视图中心,但不执行缩放。
  •   
     

ImageView.ScaleType =&#34; CENTER_CROP&#34;

     
      
  • 均匀缩放图像(保持图像的纵横比),使图像的尺寸(宽度和高度)等于   或者大于视图的相应尺寸(减去   填充)。
  •   
     

ImageView.ScaleType =&#34; CENTER_INSIDE&#34;

     
      
  • 均匀缩放图像(保持图像的纵横比),使图像的尺寸(宽度和高度)等于   或者小于视图的相应尺寸(减去填充)。
  •   
     

ImageView.ScaleType =&#34; FIT_CENTER&#34;

     
      
  • 使用CENTER缩放图像。
  •   
     

ImageView.ScaleType =&#34; FIT_END&#34;

     
      
  • 使用END缩放图像。
  •   
     

ImageView.ScaleType =&#34; FIT_START&#34;

     
      
  • 使用START缩放图像。
  •   
     

ImageView.ScaleType =&#34; FIT_XY&#34;

     
      
  • 使用FILL缩放图像。
  •   
     

ImageView.ScaleType =&#34; MATRIX&#34;

     
      
  • 绘图时使用图像矩阵缩放。
  •   

答案 5 :(得分:0)

那是因为你已经将ImageView与父母的底部对齐但是在400dp的底部有一个边距。
长话短说,删除 android:layout_alignParentBottom="true" android:layout_marginBottom="400dp"
如果您希望图像填满整个屏幕,也可以设置layout_height to match_parent
P. S.另外fill_parent已被弃用,因此请改用match_parent