更改BottomBar的背景颜色

时间:2016-05-16 16:04:49

标签: android

我正在使用这个很棒的库,你可以看到here但似乎无法为bottomBar设置bg颜色。

我用来设置bottomBar的代码是:

    bottomBar = BottomBar.attach(view, savedInstanceState);
    bottomBar.setMaxFixedTabs(2);
    bottomBar.setItemsFromMenu(R.menu.menu_bottom_bar, new OnMenuTabClickListener() {
        @Override
        public void onMenuTabSelected(@IdRes int menuItemId) {
            Log.i(TAG, "onMenuTabSelected: " + menuItemId );
        }

        @Override
        public void onMenuTabReSelected(@IdRes int menuItemId) {
            Log.i(TAG, "onMenuTab- RE - Selected: " + menuItemId );
        }
    });

    bottomBar.mapColorForTab(0, R.color.colorAccentPink);
    bottomBar.mapColorForTab(1, R.color.colorAccentPink);
    bottomBar.mapColorForTab(2, R.color.colorAccentPink);

我也试过设置setBackground方法,但没有任何运气。

所有我得到的都是白色背景。

谢谢

编辑:

<?xml version="1.0" encoding="utf-8"?>

<item
    android:id="@+id/bb_menu_comments"
    android:icon="@drawable/ic_comments"
    android:title="Comments" />
<item
    android:id="@+id/bb_menu_poll"
    android:icon="@drawable/ic_poll"
    android:title="Polls" />
<item
    android:id="@+id/bb_menu_share"
    android:icon="@drawable/ic_share"
    android:title="Share" />

2 个答案:

答案 0 :(得分:2)

您将错误的参数传递给mapColorForTab方法。 R.color.colorAccentPink只是一个资源ID,但您需要从中提取颜色:

bottomBar.mapColorForTab(0, ContextCompat.getColor(this, R.color.colorAccentPink));

答案 1 :(得分:0)

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

试试这一行。它对我来说很完美。