我自己尝试开发一个基于this tutorial的示例安卓应用程序,底部栏。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.thirdactivity);
BottomBar bottomBar = BottomBar.attach(this, savedInstanceState);
bottomBar.setItemsFromMenu(R.menu.bottom_menu, new OnMenuTabSelectedListener() {
@Override
public void onMenuItemSelected(int itemId) {
Intent myAct = new Intent();
switch (itemId) {
case R.id.item1:
myAct = new Intent(findViewById(itemId).getContext(), mainactivity.class);
break;
case R.id.item2:
myAct = new Intent(findViewById(itemId).getContext(), secondactivity.class);
break;
case R.id.item3:
myAct = new Intent(findViewById(itemId).getContext(), thirdactivity.class);
break;
}
startActivity(myAct);
}
});
}
但是如何在创建活动时将第三个选项卡设置为默认值。上面的代码将第一个选项卡突出显示为选中状态,甚至在单击第一个选项卡时都没有监听。此外,以后的选项卡会打开相应的活动,但不会突出显示为当前选项卡。
编辑:自己也可以使用bottomBar.setDefaultTabPosition(desiredTabId);
,它也能正常工作,但它占用的内存很大。修复方法是什么?
发布于 2017-01-31 13:13:10
它可以通过使用startActivity()
as来解决,
BottomBar bottomBar = BottomBar.attach(this, savedInstanceState);
bottomBar.setItemsFromMenu(R.menu.bottom_menu, new OnMenuTabSelectedListener() {
@Override
public void onMenuItemSelected(int itemId) {
Intent act = new Intent();
if (R.id.item1 == itemId) {
act = new Intent(findViewById(itemId).getContext(), act1.class);
startActivity(act);
overridePendingTransition(R.anim.open_translate, R.anim.close_scale);
}
if (R.id.item2 == itemId) {
act = new Intent(findViewById(itemId).getContext(), act2.class);
}
if (R.id.item3 == itemId) {
act = new Intent(findViewById(itemId).getContext(), act3.class);
startActivity(act);
overridePendingTransition(R.anim.open_translate, R.anim.close_scale);
}
}
});
bottomBar.setDefaultTabPosition(2);
bottomBar.setActiveTabColor("#F3C030");
发布于 2018-06-09 05:06:04
尝试在设置监听器之前设置默认选项卡
bottomBar.setDefaultTab(R.id.tab_default);
bottomBar.setOnTabSelectListener(this);
这适用于版本2.0.2
如果在默认选项卡之前设置监听程序,它将被调用两次。一次用于制表符位置0,然后用于您设置为默认值的任何内容,这通常不是所需的。
最好在创建bottombar之前设置默认选项卡,或者在自述文件中显示警告。
https://stackoverflow.com/questions/38943655
复制相似问题