我正在使用此库https://github.com/roughike/BottomBar来创建BottomBar 但到目前为止,我无法为每个标签添加特定的布局。
public class MainActivity extends Activity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BottomBar bottomBar = (BottomBar) findViewById(R.id.bottomBar);
bottomBar.setOnTabSelectListener(new OnTabSelectListener() {
@Override
public void onTabSelected(@IdRes int tabId) {
if (tabId == R.id.tab_favorites) {
// The tab with id R.id.tab_favorites was selected,
// change your content accordingly.
}
}
});
}
}
我不知道该怎么做,因为它会改变你的内容。任何代码示例都会有所帮助。
答案 0 :(得分:1)
<强> 1)强>
将FrameLayout
和BottomBar
添加到activity_main.xml
。
您的FrameLayout
将成为您的Fragment
容器。所以,让我们像fragment_container一样给它。
<强> 2)强>
创建与底栏选项卡一样多的片段。还为它们创建布局。
第3)强>
按照以下方式编辑您的监听器
mBottomBar.setOnMenuTabClickListener(new OnMenuTabClickListener() {
@Override
public void onMenuTabSelected(@IdRes int menuItemId) {
switch (menuItemId) {
case R.id.frag_1:
commitFragment(new FragmentOne());
break;
case R.id.frag_2:
commitFragment(new FragmentTwo());
break;
case R.id.frag_3:
commitFragment(new FragmentThree());
break;
}
}
其中R.id.frag_1-3是每个片段的主要布局的id。
这是commitFragment方法:
private void commitFragment(Fragment fragment){
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
}