这个问题经常出现,但是在我发现的所有例子中,图像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);
}
...
}
答案 0 :(得分:2)
使用ScaleType.CENTER_CROP而不是
播放器.setScaleType(ImageView.ScaleType.CENTER_CROP);
似乎CENTER_CROP与fit_xy一样工作。 但是,它不确定为什么会这样做..
答案 1 :(得分:1)
请尝试以下代码以编程方式设置ScaleType
ImageButton object".setScaleType(ScaleType.FIT_XY)
“ImageButton对象”应该是ImageButton类的对象 (您可能在xml中定义)。
答案 2 :(得分:0)
这样做
ImageButton object.setScaleType(ScaleType.FIT_XY)
在代码中使用ScaleType.FIT_XY而不是fitXY
答案 3 :(得分:0)
ImageButton.setScaleType="fitXY"
是的,这不起作用,因为你必须使用下面的代码正确使用它也应该setAdjustViewBounds为true。这样:
player.setAdjustViewBounds(true);
player.setScaleType(ScaleType.FIT_XY);
这肯定会奏效!