1

私はこれを数時間扱ってきました。助けが必要です。ViewPager 内にこの ImageView があります。画像が表示幅に収まらない場合を除いて、すべて問題ありません。水平方向に中央揃えにしたいのですが、どの設定を変更しても機能しません。

Layout params、setRule などを使用しました... ImageView には setGravity がないため、どのアプローチを選択すればよいですか? 最初に線形レイアウトまたは相対レイアウトを作成してから、それに画像ビューを追加しますか? ImageView を中心に揃えるより合理的な方法はありませんか?

ViewPager の Adapter 内のコードは次のとおりです。

public Object instantiateItem(final ViewGroup container, final int position) {
    if (context == null)
        return null;
    final ImageView imageView = new ImageView(context);
    if (propertyImagesIDs == null || propertyImagesIDs.length == 0 || context == null) {
        return null;
    }
    new PropertyPhotoProxy().run(new Response.Listener<Photo>() {
        @Override
        public void onResponse(Photo photo) {
            imageView.setImageBitmap(photo.getBitmap());
            imageView.setScaleType(ImageView.ScaleType.FIT_START);
            ((ViewPager) container).addView(imageView, 0);

        }
    }, new DefaultErrorListener(), propertyImagesIDs[position]);

    return imageView;
}

これは、どの設定を変更しても、画像が画面にどのように配置されるかです。

ここに画像の説明を入力

4

1 に答える 1

0
 ImageView.ScaleType.FIT_START

あなたが必要とするものではありません。アスペクト比を維持し、 と の間の少なくとも 1 つで dest を埋めようとしwidthますheight。あなたはおそらく使用したい、CENTER_INSIDEまたはCENTER_CROP

于 2015-11-18T12:53:22.687 に答える