0

私はこの質問と同じ問題を抱えていますが、そこにある答えは問題を解決しません。をサブクラス化し、次のようImageViewにオーバーライドしました。onMeasure

@Override 
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
    this.setMeasuredDimension(this.getMeasuredHeight(), this.getMeasuredHeight());
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);

これは何も変更しません。リンクされた投稿の回答のコードを使用しようとするとImageView、heightMeasureSpec が 0 でありMeasureSpec.getSize(heightMeasureSpec)0.

目標はImageView、親ビューと同じ高さで、幅を同じにすることです (画像が正方形であるため)。スクリーンショット

編集:レイアウト XML の ImageView は次のとおりです。

<ImageView
    android:id="@+id/thumbnail"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_alignBottom="@+id/bottomtext"
    android:layout_alignParentLeft="true"
    android:layout_alignTop="@+id/toptext"
    android:adjustViewBounds="true"
    android:padding="4dp"
    android:scaleType="centerCrop" />
4

3 に答える 3

0

「ImageView」をサブクラス化する必要はありません。これをするだけ

<ImageView
            android:id="@+id/slider_image"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:scaleType="fitXY" />
于 2014-01-20T12:40:38.473 に答える