我正在使用Circular Image View以便在其中显示一些神奇宝贝:
所有图像均为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,但无法正常工作。
答案 0 :(得分:0)
请注意,您在毕加索行中使用.fit().centerCrop()
方法-您的图片比View
大,因此毕加索将下载并剪切它,然后将其设置为ImageView
。为scaleType
设置的ImageView
无关紧要,因为毕加索将提供与ImageView
完全一样的图像,因此不会发生缩放,不需要
尝试使用.fit().centerInside()
-这将迫使毕加索按原样下载和设置图片(无需剪切),并且居中放置应该可以