ImageView setImageResource 不工作
ImageView setImageResource not working
我有一个继承自 RelativeLayout
的自定义 class。我有一个名为 control_btn
的 ImageButton
,它是在 init()
方法中定义并添加到布局中的。在 onDraw
上,我有以下代码(除其他外):
control_btn.setImageResource(R.drawable.play_new);
control_btn.getLayoutParams().width = getPixels(20);
control_btn.getLayoutParams().height = getPixels(20);
control_btn.setX(getPixels(0));
control_btn.setY(getPixels(10));
control_btn.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
control_btn.setAdjustViewBounds(true);
control_btn.setPadding(0, 0, 0, 0);
control_btn.setBackgroundColor(Color.TRANSPARENT);
control_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
control_btn.setImageResource(R.drawable.pause);
Log.d("WTH", "clicked");
}
});
然而,尽管获得了日志条目,图像却从未改变。
此外,我还有另一个 ImageButton
具有完全相同的代码,其图像确实发生了变化(也在自定义 class 内)。
关于如何解决这个问题有什么想法吗?
将setImageResource
放入init()
方法,问题就解决了。
我有一个继承自 RelativeLayout
的自定义 class。我有一个名为 control_btn
的 ImageButton
,它是在 init()
方法中定义并添加到布局中的。在 onDraw
上,我有以下代码(除其他外):
control_btn.setImageResource(R.drawable.play_new);
control_btn.getLayoutParams().width = getPixels(20);
control_btn.getLayoutParams().height = getPixels(20);
control_btn.setX(getPixels(0));
control_btn.setY(getPixels(10));
control_btn.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
control_btn.setAdjustViewBounds(true);
control_btn.setPadding(0, 0, 0, 0);
control_btn.setBackgroundColor(Color.TRANSPARENT);
control_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
control_btn.setImageResource(R.drawable.pause);
Log.d("WTH", "clicked");
}
});
然而,尽管获得了日志条目,图像却从未改变。
此外,我还有另一个 ImageButton
具有完全相同的代码,其图像确实发生了变化(也在自定义 class 内)。
关于如何解决这个问题有什么想法吗?
将setImageResource
放入init()
方法,问题就解决了。