0

这个问题经常出现,但是在我发现的所有示例中,图像 src 都是在 XML 中定义的。例如android:src="..."

我的代码在活动之前没有指定 src,ImageButton.setImageResource()因为它是单个按钮,执行播放/停止

当稍后定义 src 时,如何用 src 填充 ImageButton?

我试过ImageButton.setScaleType="fitXY"了,但是 sdk 不喜欢使用字符串...

在此处输入图像描述

更新:尝试使用以下建议后,问题仍然存在。这里有更多的解释来帮助

<ImageButton
    android:id="@+id/imgStart"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    />


public class MainActivity extends Activity{

private ImageButton player;

protected void onCreate(){
player = (ImageButton) findViewById(R.id.imgStart);

...

if(isPlaying){
player.setImageResource(bitmap image);
}
else{
player.setImageResource(different bitmap image);
}
...
}
4

4 回答 4

2

改用 ScaleType.CENTER_CROP

播放器 .setScaleType(ImageView.ScaleType.CENTER_CROP);

似乎 CENTER_CROP 作为 fit_xy 工作。但是,不知道为什么会这样..

于 2016-09-08T15:58:01.967 回答
1

请尝试以下代码以ScaleType编程方式设置

ImageButton object".setScaleType(ScaleType.FIT_XY)

“ImageButton 对象”应该是类 ImageButton 的对象(您可能在 xml 中定义)。

于 2014-06-20T10:31:42.560 回答
0
ImageButton.setScaleType="fitXY"

是的,这是行不通的,因为您必须使用下面的代码正确使用它,还应该 setAdjustViewBounds 为 true。像这样:

player.setAdjustViewBounds(true);
player.setScaleType(ScaleType.FIT_XY);

这肯定会奏效!

于 2014-06-20T11:26:10.337 回答
0

这样做

ImageButton object.setScaleType(ScaleType.FIT_XY)

在您的代码中使用 ScaleType.FIT_XY 而不是 fitXY

于 2014-06-20T10:34:10.803 回答