ImageView - 左侧和右侧的不需要的填充

时间:2015-05-04 12:00:35

标签: android android-imageview

我在ScrollView中有一个ImageView。 ImageView和match_parent以及wrap_content的宽度和高度。但是,ImageView左侧和右侧都有轻微的填充。图像从服务器下载并显示在ImageView中。

这是我的XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res/com.xx.xxx"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar_without_spinner" />

    <ScrollView
        android:id="@+id/scrollview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scrollbars="none" >

        <LinearLayout
            android:id="@+id/ll_select_activity"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/green"
            android:orientation="vertical" >

            <LinearLayout
                android:id="@+id/ll_feature"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <LinearLayout
                    android:id="@+id/text_layout"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:orientation="vertical"
                    android:paddingBottom="10dp"
                    android:paddingTop="10dp"
                    android:visibility="gone" >

                    <TextView
                        android:id="@+id/item_features_title"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:text="@string/empty"
                        android:textAppearance="?android:attr/textAppearanceLarge" />

                    <TextView
                        android:id="@+id/item_features_description"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:text="@string/empty"
                        android:textAppearance="?android:attr/textAppearanceMedium" />
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal" >
                    <!-- ImageView with the problem -->
                    <ImageView
                        android:id="@+id/item_features_imageview_icon"
                        android:layout_width="0dip"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:adjustViewBounds="true"
                        android:padding="0dp"
                        android:contentDescription="@string/item_features_icon"
                        android:cropToPadding="false"
                        android:scaleType="fitCenter" />
                </LinearLayout>
            </LinearLayout>

           ....
           .... 
        </LinearLayout>
    </ScrollView>

</LinearLayout>

请查看以下屏幕截图:

enter image description here

enter image description here

如何使ImageView与scrollView的总宽度相匹配并保持宽高比?

不应该&#34; fitCenter&#34;根据文档自动匹配边缘?

ImageView.ScaleType。 FIT_CENTER

  

计算将保持原始src宽高比的比例,但是   还将确保src完全适合dst。至少一个轴   (X或Y)将完全适合。结果集中在dst内。

2 个答案:

答案 0 :(得分:0)

使用此

android:scaleType="fitXY"

它会在水平方向上展开您的图像,删除额外的填充

您也可以使用

{{1}}

它将在垂直和水平方向上扩展

答案 1 :(得分:0)

android:scaleType="fitX"会在水平方向扩展图像,而不会删除多余的填充android:scaleType="fitXY"它将在垂直和水平方向扩展

在图像较大时使用android:adjustViewBounds="true"。它的调整范围保留其可绘制对象的纵横比。

Ex.

<ImageView
      android:scaleType="fitXY"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:adjustViewBounds="true"
      app:srcCompat="@drawable/background_design" />