Android图像缩放,如何摆脱黑色条纹

时间:2015-11-17 16:14:37

标签: android scaling

我正在研究一些Android的东西,我遇到了图像缩放的奇怪问题。您可以在下图中看到的图像包含:

<ImageView
            android:id="@+id/imagePreview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/editor_placeholder"
            android:contentDescription="@string/stfu" />

我一直在问自己为什么会出现这些黑色条纹。我可以让它显示没有这些条纹的图像吗?

解决方案:

android:adjustViewBounds="true"

摆脱不必要的条纹。

enter image description here

3 个答案:

答案 0 :(得分:2)

当然,你可以通过几种不同的方式做到这一点。如果您希望图像适合并且不关心图像的裁剪,您可以执行以下操作:

   <ImageView
        android:id="@+id/imagePreview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:scaleType="centerCrop"
        android:src="@drawable/editor_placeholder"
        android:contentDescription="@string/stfu" />

ImageView有各种不同的ImageView.ScaleType

  
    

CENTER - &gt;将图像置于视图中心,但不执行缩放。从XML中,使用以下语法:android:scaleType="center"

         

CENTER_CROP - &gt;均匀缩放图像(保持图像的纵横比),使图像的尺寸(宽度和高度)等于或大于视图的相应尺寸(减去填充)。然后图像在视图中居中。从XML中,使用以下语法:android:scaleType="centerCrop"

         

CENTER_INSIDE - &gt;均匀缩放图像(保持图像的纵横比),使图像的尺寸(宽度和高度)等于或小于视图的相应尺寸(减去填充)。然后图像在视图中居中。从XML中,使用以下语法:android:scaleType="centerInside"

         

FIT_CENTER - &gt;使用CENTER缩放图像。从XML中,使用以下语法:android:scaleType="fitCenter"

         

FIT_END - &gt;使用END缩放图像。从XML中,使用以下语法:android:scaleType="fitEnd"

         

FIT_START - &gt;使用START缩放图像。从XML中,使用以下语法:android:scaleType="fitStart"

         

FIT_XY - &gt;使用FILL缩放图像。从XML中,使用以下语法:android:scaleType="fitXY"

         

FIT_MATRIX - &gt;绘图时使用图像矩阵缩放。可以使用setImageMatrix(Matrix)设置图像矩阵。从XML中,使用以下语法:android:scaleType="matrix"

  

Here是来自开发者网站的一篇很好的文章,用于帮助进行程序化扩展

答案 1 :(得分:0)

在xml文件的imageview中使用android imageview scale type属性..

hadoop jar /opt/cloudera/parcels/hadoop-streaming.jar \
-D mapred.reduce.tasks=15 -D stream.map.input.field.separator=',' -D stream.map.output.field.separator=',' \
-D mapred.textoutputformat.separator=',' \
-input /user/temp/in/ \
-output /user/temp/out \
-file  /app/qa/python/mapper.py \
-mapper mapper.py \
-file  /app/qa/python/reducer.py \
-reducer reducer.py

答案 2 :(得分:0)

试试这个

<ImageView
        android:id="@+id/imagePreview"
        android:layout_width="wrap_content"
        android:layout_height="200dp"
        android:scaleType="centerCrop"
        android:src="@drawable/editor_placeholder"
        android:contentDescription="@string/stfu" />