3

我们有一个使用 ActionBarSherlock 的应用程序。操作栏的背景是在运行时创建的可绘制对象,因此我们可以更改颜色。

我想添加抽屉布局。在我的测试中,有时背景颜色会变为接近白色。如果我将文本设置为#FFF,它看起来比背景更白。

如果我让菜单启动一个活动,我可以让它重现,然后我回击。它似乎也发生在其他时间 - 可能与设备进入睡眠状态有关。

如果操作栏变成白色,我打开抽屉,它会重新绘制为正确的背景颜色。我在 ADT 中设置了断点,并且似乎在我想要的时候调用了这些方法,所以我不知道是什么触发了颜色变化。

这是 DrawerLayout 的问题,是 ABS 还没有准备好使用 DrawerLayout,还是我需要做一些额外的事情,比如使某些视图无效以使颜色始终正确显示?

编辑:我认为这解决了它。我会继续测试。

@Override
protected void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);

    // Sync the toggle state after onRestoreInstanceState has occurred.
    drawerToggle.syncState();
    supportInvalidateOptionsMenu();
}
4

0 回答 0