2016-06-01 148 views
2

我使用this庫在我的應用程序中使用BottomBar,我無法爲此設置背景色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像: enter image description here

UPD 1我試過這段代碼:

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

但這改變了我的內容背景(在屏幕截圖中查找內容附近),不在BottomBar

+0

的'BottomBar'您使用的只是'FrameLayout',您可以用'setBackgroundColor(彩色)'或'的setBackground(可繪製)'方法。 –

回答

3

試試這個。它適用於我

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

似乎是depreceated但爲我工作 – dwinnbrown

+0

@dwinnbrown偉大的。我認爲它顯示在這行getResources()。getColor(R.color.colorAccent)不推薦使用。我已經更新了代碼。現在我相信它會解決您的棄用問題。 – Masum

+0

我相信是的,這將工作,但它給了我一個錯誤'無法獲取方法'getActivity()' - 可能是因爲我沒有更新gradle文件? – dwinnbrown

1

接受的答案不適合我,我嘗試了別的東西。當你改變每個你的背景時,它確實有效。我加了這條線,每片我有:

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