因为你ImageView宽度取决于屏幕的宽度。而且你没有设置尖锐的大小。
我想你需要一个正方形ImageView应该由自己与下面的代码来定义:
namespace SharpText_Demo
{
[Register("sharpText_Demo.SquareImageView")]
public class SquareImageView : ImageView
{
public SquareImageView(Context context):base(context)
{
}
public SquareImageView(Context context, IAttributeSet attrs):base(context,attrs,0)
{
}
public SquareImageView(Context context, IAttributeSet attrs, int defStyle):base(context,attrs,defStyle)
{
}
protected override void OnMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
SetMeasuredDimension(GetDefaultSize(0, widthMeasureSpec), GetDefaultSize(0, heightMeasureSpec));
int childWidthSize = MeasuredWidth;
//SET height = width
heightMeasureSpec = widthMeasureSpec = MeasureSpec.MakeMeasureSpec(childWidthSize, MeasureSpecMode.Exactly);
base.OnMeasure(widthMeasureSpec, heightMeasureSpec);
}
}
}
设置ImageView高度总是等于它的宽度。
然后改变你的axml文件:
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_width="match_parent"
android:layout_height="100dp"
android:id="@+id/img6"
android:weightSum="5"
android:orientation="horizontal">
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:scaleType="fitXY"
android:background="@drawable/vectorshape"
android:id="@+id/img1" />
android:layout_width="0dp"
android:layout_height="wrap_content"
android:scaleType="centerInside"
android:layout_weight="1"
android:background="@drawable/vectorshape"
android:id="@+id/img2" />
android:layout_width="0dp"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:layout_weight="1"
android:background="@drawable/vectorshape"
android:id="@+id/img3" />
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:id="@+id/img4"
android:background="@drawable/vectorshape"
android:layout_weight="1" />
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/img5"
android:background="@drawable/vectorshape" />
算了scaleType它用于android:src = ....
您将得到屏幕快照: