使用ActionBar实现Tab导航
2015-12-22 10:54
435 查看
重点内容
为了使用ActionBar实现Tab的导航,按照如下的方法步骤。
1.调用ActionBar的setnavigationMode();方式设置使用Tab的导航模式。
2.调用ActionBar的addTab()方法添加多个Tab标签,并为每个Tab标签添加事件的监听器
“`
package com.example.actionbar_fragment;
import android.os.Bundle;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.view.Menu;
public class MainActivity extends Activity implements ActionBar.TabListener {
//重要的就是重写这个方法
@Override
public void onTabSelected(Tab tab, FragmentTransaction fragmentTransaction) {
// TODO Auto-generated method stub
Fragment fragmrnt = new DummyFragmrnt();
Bundle bd = new Bundle();
bd.putInt(DummyFragmrnt.ARG_SECTION_NUMBER, tab.getPosition()+1);
//FragmentTransaction 对fragment进行移动,添加,替换的操作
fragmrnt.setArguments(bd);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.container, fragmrnt);
ft.commit();
}
“`//简单的Fragment
public class DummyFragmrnt extends Fragment{
}
为了使用ActionBar实现Tab的导航,按照如下的方法步骤。
1.调用ActionBar的setnavigationMode();方式设置使用Tab的导航模式。
2.调用ActionBar的addTab()方法添加多个Tab标签,并为每个Tab标签添加事件的监听器
“`
package com.example.actionbar_fragment;
import android.os.Bundle;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.view.Menu;
public class MainActivity extends Activity implements ActionBar.TabListener {
private static final String SELECTED_ITEM = "selected_item"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ActionBar actionbar = getActionBar(); actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); actionbar.addTab(actionbar.newTab().setText("第一页").setTabListener(this)); actionbar.addTab(actionbar.newTab().setText("第二页").setTabListener(this)); actionbar.addTab(actionbar.newTab().setText("第三页").setTabListener(this)); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void onTabReselected(Tab arg0, FragmentTransaction arg1) { // TODO Auto-generated method stub }
//重要的就是重写这个方法
@Override
public void onTabSelected(Tab tab, FragmentTransaction fragmentTransaction) {
// TODO Auto-generated method stub
Fragment fragmrnt = new DummyFragmrnt();
Bundle bd = new Bundle();
bd.putInt(DummyFragmrnt.ARG_SECTION_NUMBER, tab.getPosition()+1);
//FragmentTransaction 对fragment进行移动,添加,替换的操作
fragmrnt.setArguments(bd);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.container, fragmrnt);
ft.commit();
} @Override public void onTabUnselected(Tab arg0, FragmentTransaction arg1) { // TODO Auto-generated method stub }
}
“`//简单的Fragment
public class DummyFragmrnt extends Fragment{
public static final String ARG_SECTION_NUMBER = "section_number"; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { TextView textview = new TextView(getActivity()); textview.setGravity(Gravity.START); Bundle args = getArguments(); textview.setText(args.getInt(ARG_SECTION_NUMBER)+""); textview.setTextSize(30); return textview; }
}
相关文章推荐
- PS合成创意的圣诞节GIF动画教程
- 砸金蛋jsp效果--没有后台功能
- 用ip_gre做公网IP端口映射,类似于DNAT
- sitemesh3.0 自定义标签
- 【c/c++】内存地址
- 六款 c http 服务器
- Android源码编译整理总结
- 数据结构随笔
- iOS7上的地图定位接口BUG
- C#委托的介绍(delegate、Action、Func、predicate)
- oracle 命令创建表空间以及用户、授权
- 浅析VO、DTO、DO、PO的概念、区别和用处
- php删除数组中重复元素的方法
- iOS 蓝牙
- Linux makefile 教程 非常详细,且易懂
- MySQL 报错 : too many connections
- 静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同
- Centos修炼----->Centos7办公环境打造(No4 一音频和视频文件如何播放)
- iOS 开发:绘制像素到屏幕
- Ios高级绘图之路径剪切和蒙版