【问题标题】:How to set background color for BottomBar?如何为 BottomBar 设置背景颜色?
【发布时间】:2016-06-01 07:37:07
【问题描述】:

我使用this 库在我的应用程序中使用BottomBar,但我无法为此BottomBar 设置背景颜色。

我的代码:

 mBottomBar = BottomBar.attach(parent.findViewById(R.id.content), savedInstanceState);
    mBottomBar.setItemsFromMenu(R.menu.bottombar_menu, new OnMenuTabClickListener() {
        @Override
        public void onMenuTabSelected(@IdRes int menuItemId) {

        }

        @Override
        public void onMenuTabReSelected(@IdRes int menuItemId) {

        }
    });

    mBottomBar.mapColorForTab(0, ContextCompat.getColor(getActivity(), R.color.colorAccent));
    mBottomBar.mapColorForTab(1, ContextCompat.getColor(getActivity(), R.color.colorAccent));

我的 BottomBar 背景颜色是白色 - 我想将 BootomBar 设置为:

UPD 1我试过这个代码:

mBottomBar.setBackgroundColor(getResources().getColor(R.color.colorAccent));

但是我的内容的这种更改背景(在屏幕截图中查看附近的内容),不在BottomBar

【问题讨论】:

  • 你使用的BottomBar就是FrameLayout,你可以使用setBackgroundColor(color)或者setBackground(Drawable)方法。

标签: android bottombar


【解决方案1】:

试试这个。它对我有用

mBottomBar.getBar().setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.colorAccent));

【讨论】:

  • @dwinnbrown 太好了。我认为它在这一行中显示已弃用 getResources().getColor(R.color.colorAccent)。我已经更新了代码。现在我相信它会解决你的弃用问题。
  • 我相信是的,但它会给我一个错误cannot get method 'getActivity()' - 可能是因为我没有更新 gradle 文件?
  • 如果您的 BottomBar 在片段中,请在 Activity 中使用 getActivity() else 然后使用 YourActivity.this
  • 我正在使用片段,但我试图在主活动文件中设置它。
  • 你不知道如何解决这个问题:stackoverflow.com/questions/38349897/… 有没有机会?
【解决方案2】:

接受的答案对我不起作用,我尝试了其他方法。当您更改每个您拥有的背景时,它确实有效。我为我拥有的每个标签添加了这一行:

bottomBar.getTabAtPosition(0).setBackgroundColor(backgroundColorInt);

【讨论】:

    猜你喜欢
    • 2015-10-26
    • 2010-12-11
    • 2020-12-14
    • 2019-02-28
    • 2013-04-26
    • 1970-01-01
    • 2010-11-08
    • 2020-12-06
    • 1970-01-01
    相关资源
    最近更新 更多