風景や肖像画の両方を保持できるImageViewを実装しようとしています。 これらの画像は、画像ビューの幅(横長の場合)または高さ(縦長の場合)に合わせる必要がありますが、いずれの場合も余白やパディングなしでビューの上部に揃えなければなりません。Android ImageView ScaleType * FIT_TOP *
android:scaleType="fitStart"
でものようなもので、ポートレート画像の場合は、風景画像の場合は上に揃えます。
を追加しました:
今、私が動作しているような醜いコードを、使用していますが、わからないことが最善の解決策である:
<com.custom.layout.MyImageView
android:id="@+id/detail_view_image"
android:src="@drawable/logo"
android:background="#fff"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:cropToPadding="false"
android:adjustViewBounds="false"
/>
、その後、私のクラスでは、それはImageViewの私を拡張操作を行います。
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int imgWidth = getDrawable().getIntrinsicWidth();
int imgHeight = getDrawable().getIntrinsicHeight();
if(imgWidth>imgHeight)
setScaleType(ScaleType.FIT_START);
else
setScaleType(ScaleType.FIT_CENTER);
int width = measureWidth(widthMeasureSpec);
int height = measureHeight(heightMeasureSpec);
setMeasuredDimension(width, height);
}
私はこれに似た何かをしたいと思っています。 –
これまで運がなかったので、私は上に投稿したコードを使用して終了しました... – 0m4r
ok、コードありがとう! –