【Android界面编程--使用活动条(ActionBar)--实现Tab导航】高斋晓开卷,独共圣人语。这篇文章主要讲述Android界面编程--使用活动条(ActionBar)--实现Tab导航相关的知识,希望能为你提供帮助。
使用ActionBar结合fragment实现导航
1,调用ActionBar的setNavigationModel(ActionBar.NAVIGATION_MODE_TABS)设置使用tabs导航
2,调用ActionBar的addTab()添加多个Tab标签
#################承载Fragment的Activity需要实现implements FirstFragment.OnFragmentInteractionListener这个接口,要不然就报错###############第二次碰到这个问题了
代码:包含原来的实现ActionBar中显示View组件(还需要在仔细看一些方法,细节)
1 package com.example.administrator.myapplication; 2 3 import android.net.Uri; 4 import android.support.v4.app.Fragment; 5 import android.support.v4.app.FragmentTransaction; 6 import android.support.v4.view.MenuItemCompat; 7 import android.support.v7.app.ActionBar; 8 import android.support.v7.app.AppCompatActivity; 9 import android.os.Bundle; 10 import android.view.Menu; 11 import android.view.MenuInflater; 12 13 import layout.FirstFragment; 14 15 public class MainActivity extends AppCompatActivity implements FirstFragment.OnFragmentInteractionListener,ActionBar.TabListener { 16 17@Override 18protected void onCreate(Bundle savedInstanceState) { 19super.onCreate(savedInstanceState); 20setContentView(R.layout.activity_main); 21 22final ActionBar actionBar = getSupportActionBar(); 23actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 24//依次添加3个标签 25actionBar.addTab(actionBar.newTab().setText("first").setTabListener(this)); 26actionBar.addTab(actionBar.newTab().setText("second").setTabListener(this)); 27actionBar.addTab(actionBar.newTab().setText("third").setTabListener(this)); 28 29 30} 31 32@Override 33public boolean onCreateOptionsMenu(Menu menu) { 34MenuInflater inflater = new MenuInflater(this); 35inflater.inflate(R.menu.menu_main,menu); 36MenuItemCompat.setShowAsAction(menu.findItem(R.id.search),MenuItemCompat.SHOW_AS_ACTION_ALWAYS); 37MenuItemCompat.setShowAsAction(menu.findItem(R.id.progess),MenuItemCompat.SHOW_AS_ACTION_ALWAYS); 38return super.onCreateOptionsMenu(menu); 39 40 41} 42 43@Override 44public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) { 45Fragment fragment = new FirstFragment(); 46Bundle args = new Bundle(); 47args.putInt("zhang",tab.getPosition()+1); 48fragment.setArguments(args); 49 50android.app.FragmentTransaction ft1 = getFragmentManager().beginTransaction(); 51ft.replace(R.id.container,fragment); 52//ft.commit(); //这代码不注释掉会保存############################################################################################################ 53} 54 55@Override 56public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) { 57 58} 59 60@Override 61public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) { 62 63} 64 65@Override 66public void onFragmentInteraction(Uri uri) { 67 68} 69 }
推荐阅读
- Win10系统时间怎样更改?
- Android使用TextView,设置onClick属性无效解决办法
- Android SDK Manager和AVD Manager使用(win7_64bit下测试)
- 直播APP开发(直播源码流媒体技术介绍!)
- APP产品开发需注意这些方面
- Android性能优化-过度绘制解决方案
- Android开发发布真机调试
- Invalid bound statement (not found): com.ros.dao.LogMapper.insert
- Android启动页面实现版本检查更新