您的位置:首页 > 移动开发 > Android开发

Android学习之ActionBar 二之添加导航选项卡

2017-07-14 15:34 357 查看

添加导航选项卡

要使用选项卡切换片段,必须在每次选择选项卡时执行片段事务。

布局必须包含一个ViewGroup,其中每个Fragment与标签相关联。

添加选项卡的基本步奏:

1. 实现ActionBar.TabListener界面。此界面中的回调响应选项卡的用户事件,以便交换片段。

2. 对于要添加的每个选项卡,实例化ActionBar.Tab并ActionBar.TabListener通过调用设置setTabListener()。还可以使用setText()和setIcon()设置便签的标题和图标。

3. 通过调用将每个选项卡添加到操作栏addTab()

public static class TabListener implements ActionBar.TabListener{

private Fragment fragment;
private final Activity activity;
private final String tag;
private final Class mclass;

public TabListener(Activity activity,String tag,Class mclass){
this.activity = activity;
this.tag = tag;
this.mclass = mclass;
}

@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
if(fragment == null){
fragment = Fragment.instantiate(activity,mclass.getName());
ft.add(android.R.id.content,fragment,tag);
}else {
ft.attach(fragment);
}
}

@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
if(fragment != null){
ft.detach(fragment);
}
}

@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {

}
}

}


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setTitle("音乐播放器");
actionBar.setIcon(R.drawable.sousuo);
actionBar.setDisplayHomeAsUpEnabled(false);
ActionBar.Tab tab = actionBar.newTab()
.setText("本地音乐")
.setTabListener(new TabListener(this,"fragemnt",Fragment.class));
actionBar.addTab(tab);
tab = actionBar.newTab()
.setText("网络搜索")
.setTabListener(new TabListener(this,"fragemnt",Fragment.class));
actionBar.addTab(tab);

}


效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android
相关文章推荐