Android圆形图像视图未居中图像

时间:2020-08-10 07:48:16

标签: android imageview android-imageview android-image

我正在使用Circular Image View以便在其中显示一些神奇宝贝:

enter image description here

所有图像均为300x300,不适合圆形图像视图。

这些图像视图是通过编程方式创建的,并添加到“线性布局”中:

    PokemonTeam pokemonTeam = mData.get(position);

    for (Pokemon pokemon : pokemonTeam.getPokemonList()) {
        CircularImageView ivPokemonSprite = new CircularImageView(mContext);
        int color = PokemonUtils.getDominantColorFromPokemon(pokemon.get_id(), mContext);
        ivPokemonSprite.setBorderColor(color);
        ivPokemonSprite.setBorderWidth(4);
         ivPokemonSprite.setCircleColor( PokemonUtils.lighterColor(color, DARK_FACTOR));
        ivPokemonSprite.setShadowEnable(true);
        ivPokemonSprite.setShadowRadius(10);
        Picasso.get().load(PokemonUtils.getPokemonSugimoriImageById(pokemon.get_id(), mContext)).fit().centerCrop().into(ivPokemonSprite);
        LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, 200, 1f);
        ivPokemonSprite.setLayoutParams(layoutParams);
        holder.teamSpritesLinearLayout.addView(ivPokemonSprite);
    }

我不知道如何将神奇宝贝的图像居中放置在圆形图像视图中,我尝试将CENTER_CROP更改为FIT_CENTER或CENTER,但无法正常工作。

1 个答案:

答案 0 :(得分:0)

请注意,您在毕加索行中使用.fit().centerCrop()方法-您的图片比View大,因此毕加索将下载并剪切它,然后将其设置为ImageView。为scaleType设置的ImageView无关紧要,因为毕加索将提供与ImageView完全一样的图像,因此不会发生缩放,不需要

尝试使用.fit().centerInside()-这将迫使毕加索按原样下载和设置图片(无需剪切),并且居中放置应该可以