Android ImageView,adjustViewBounds在Android 4.1中不起作用

时间:2016-02-17 07:24:39

标签: android gridview imageview

在我的实现中adjustViewBounds=true完全按照预期在Android 5.1中运行 但在4.1

中没有做同样的事情
  

左侧4.1,右侧5.1

adjustViewBounds=true

enter image description here

adjustViewBounds=false

enter image description here

MainFragment

<GridView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:columnWidth="150dp"
    android:numColumns="auto_fit"
    android:verticalSpacing="0dp"
    android:horizontalSpacing="0dp"
    android:stretchMode="columnWidth"
    tools:context=".MainFragment"
    android:id="@+id/movie_gridView">
</GridView>

ImageView

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY"
        android:id="@+id/gridView_moviePoster"
        android:adjustViewBounds="true"/>
</FrameLayout>

1 个答案:

答案 0 :(得分:0)

  

如果应用程序的目标是 API级别17或更低级别,则adjustViewBounds将允许drawable缩小视图边界,但不会增长以填充所有情况下的可用测量空间。这是为了与传统的MeasureSpec和RelativeLayout行为兼容。

所以在Api等级17以及更少你必须使用AdjustableImageView

在gradle中添加以下内容

compile 'com.inthecheesefactory.thecheeselibrary:adjustable-imageview:1.0.0'

详细教程See this