在我的实现中adjustViewBounds=true
完全按照预期在Android 5.1中运行
但在4.1
左侧4.1,右侧5.1
adjustViewBounds=true
adjustViewBounds=false
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>
答案 0 :(得分:0)
如果应用程序的目标是 API级别17或更低级别,则
adjustViewBounds
将允许drawable缩小视图边界,但不会增长以填充所有情况下的可用测量空间。这是为了与传统的MeasureSpec和RelativeLayout行为兼容。
所以在Api等级17以及更少你必须使用AdjustableImageView
在gradle中添加以下内容
compile 'com.inthecheesefactory.thecheeselibrary:adjustable-imageview:1.0.0'
详细教程See this