<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/checkin_item"
android:icon="@drawable/ic_nearby"
android:title="CheckIn"
android:orderInCategory="100"
app:showAsAction="always"/>
<item
android:id="@+id/message_item"
android:icon="@drawable/ic_message"
android:title="Message"
android:orderInCategory="100"
app:showAsAction="always"/>
<item
android:id="@+id/friends_item"
android:icon="@drawable/ic_friends"
android:title="Friend"
android:orderInCategory="100"
app:showAsAction="always"/>
<item
android:id="@+id/notification_item"
android:icon="@drawable/ic_notifications"
android:title="Notification"
android:orderInCategory="100"
app:showAsAction="always"/>
bottomBar = BottomBar.attach(findViewById(R.id.navigation_view), savedInstanceState);
bottomBar.setItemsFromMenu(R.menu.menu_bottom, new OnMenuTabClickListener() {
@Override
public void onMenuTabSelected(int itemId) {
switch (itemId) {
case R.id.checkin_item:
Snackbar.make(drawerLayout, "Recent Item Selected", Snackbar.LENGTH_LONG).show();
break;
case R.id.message_item:
Snackbar.make(drawerLayout, "Favorite Item Selected", Snackbar.LENGTH_LONG).show();
break;
case R.id.friends_item:
Snackbar.make(drawerLayout, "Location Item Selected", Snackbar.LENGTH_LONG).show();
break;
case R.id.notification_item:
Snackbar.make(drawerLayout, "Location Item Selected", Snackbar.LENGTH_LONG).show();
break;
default:
bottomBar.setSelected(false);
bottomBar.clearFocus();
break;
}
}
@Override
public void onMenuTabReSelected(int itemId) {
switch (itemId) {
case R.id.checkin_item:
Snackbar.make(drawerLayout, "Recent Item Selected", Snackbar.LENGTH_LONG).show();
break;
case R.id.message_item:
Snackbar.make(drawerLayout, "Favorite Item Selected", Snackbar.LENGTH_LONG).show();
break;
case R.id.friends_item:
Snackbar.make(drawerLayout, "Location Item Selected", Snackbar.LENGTH_LONG).show();
break;
case R.id.notification_item:
Snackbar.make(drawerLayout, "Location Item Selected", Snackbar.LENGTH_LONG).show();
break;
default:
bottomBar.setSelected(false);
bottomBar.clearFocus();
break;
}
}
Bottombar已经被选中了第一项。我想禁用它。因此,当应用程序运行时,没有选择任何内容。
https://github.com/roughike/BottomBar/blob/master/README.md#common-problems-and-solutions
使用此底栏。
答案 0 :(得分:3)
现在你必须做以下两种解决方法中的任何一种,我猜。
1)使用以下方法选择其他默认选项卡:
bottomBar.setDefaultTabPosition(someIndexOfYOurChoiceFromMenuItems);
例如:你可以设置
bottomBar.setDefaultTabPosition(1);
默认选择标签中的第二项:
<item android:id="@+id/message_item"
android:icon="@drawable/ic_message"
android:title="Message"
android:orderInCategory="100"
app:showAsAction="always"/>
2)为一个保持不可见的标签添加一个虚拟菜单项
添加:
<item android:id="@+id/none"
android:title=""/>
在其他项目之前。这使它成为默认选中的第一个项目。
答案 1 :(得分:1)
在您的活动Oncreate
:
bottom_navigation_bar.setOnTabSelectListener(this);
bottom_navigation_bar.setOnTabReselectListener(this);
然后:
public void onTabSelected(@idres int tabId) {
if (bottom_navigation_bar.getRootView().findViewById(tabId).isPressed()){
switch (tabId) {
case R.id.tab_home:
break;
case R.id.something:
break;
case R.id.something:
break;
case R.id.something:
break;
}
}
}
并在onTabReSelectedmethod
上添加第一个标签:
@override
public void onTabReSelected(int tabId) {
switch (tabId) {
case R.id.tab_home:
break;
}
}