夏洛克操作栏的菜单项背景(Sherlock action bar's menu item b

2019-09-22 11:49发布

我有夏洛克动作条渲染自定义视图的问题。 发生什么事是我已经成功地设定指示设定在中央的标题TextView的操作栏中的自定义视图,但是当我设置一样刷新其他菜单项,然后它的背景出现带有黑色。 同样的事情发生与家庭按钮。 请进行以下快照。

你可以在此图像中看到当我设置主页按钮可见,或将刷新菜单项不应该用黑色背景上显示这样的。

在我的活动画面

protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.menu_activity);
   .... 
   View customNav = LayoutInflater.from(this).inflate(R.layout.custom_navigation, null);
   TextView textView = (TextView)customNav.findViewById(R.id.screen_title);
   textView.setText("Category");
   getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
   getSupportActionBar().setCustomView(customNav);
   getSupportActionBar().setDisplayHomeAsUpEnabled(true);
   getSupportActionBar().setDisplayShowHomeEnabled(true);   
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    menu.add(0,Constants.REFRESH_ITEM_ID,0,Constants.LABEL_REFRESH)
        .setIcon(R.drawable.ic_refresh)
        .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    return true;
}

我已经尝试了很多,但未能解决it.Please帮助我。 提前致谢。

Answer 1:

看来你在整个应用程序或该活动清单文件使用Theme.Sherlock.Dark。 它是动作条的正常行为 - 它是由样式定义,但你的自定义视图元素已经是自己的底色,文字风格等......从setCustomView()的javadoc:

自定义导航视图的应用程序图标,任何操作按钮之间出现,并且可以使用任何可用空间存在。

这种方法只需要添加新的看法吧,但不设置“对整个酒吧视图”。

看看http://jgilfelt.github.com/android-actionbarstylegenerator -这是采取行动的酒吧风格的发电机。 注意切换按钮“风格的兼容性”。



Answer 2:

我发现这不是完全相同的方式我想,但其他的方式解决。 其实我已经为各种屏幕中心的屏幕标题创建的图像并将其设置为操作栏的背景,而不是创建一个自定义视图和SherlockActionBar足够灵活,能够隐藏在左上角显示的默认标题。 我所做的是。

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar()
            .setBackgroundDrawable(getResources().getDrawable(R.drawable.menu_head));


文章来源: Sherlock action bar's menu item background