我创建了一个名为ActionbarBackground的自定义Drawable类,它为我的Actionbar背景实现了一些特殊的绘图行为。当我在平板电脑上测试应用程序时,我得到以下故障:
当应用程序启动时,操作栏的内容将在背景下方绘制,从而推动整个活动的内容。
实施例:
触摸屏幕后,重绘完成,动作栏的内容完全消失。然后,活动的内容会向上移动。
实施例:
这个问题发生在两个活动中,我不知道为什么。我尝试从XML资源提供自定义drawable,一切正常,但这个背景需要编程绘图。
操作栏的设置如下:
this.getActionBar().setDisplayShowTitleEnabled(false);
this.getActionBar().setIcon(R.drawable.actionbar_icon_and_title);
this.getActionBar().setBackgroundDrawable(new ActionbarBackground(this));
ActionbarBackground的实现通常如下所示:
@Override
public void draw(Canvas canvas)
{
// Do special drawing on canvas object
}
@Override
public int getOpacity() {
return PixelFormat.OPAQUE;
}
@Override
public void setAlpha(int alpha) {
// Do nothing
}
@Override
public void setColorFilter(ColorFilter filter) {
// Do nothing
}
为什么会发生这种情况以及如何解决这个问题?