Android编程之ActionBar Tabs用法实例分析

Ipo ·
更新时间:2024-09-20
· 650 次阅读

本文实例讲述了Android编程之ActionBar Tabs用法。分享给大家供大家参考,具体如下:

这里主要实现用Tab切换不同的Fragment,点击View显示or隐藏ActionBar,把ActionBar 设为透明,使界面更加友好,详细代码见资源里的ActionBarTabs。

ActionBar Tab主要用于Fragment之间的切换,其必须要设置ActionBar.TabListener,详细代码如下

ActionBarActivity.Java:

import android.app.ActionBar; import android.app.Activity; import android.app.FragmentTransaction; import android.app.ActionBar.Tab; import android.os.Bundle; import android.os.CountDownTimer; import android.view.MotionEvent; import android.view.Window; public class ActionBarActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //使ActionBar变得透明 requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); setContentView(R.layout.main); final ActionBar actionBar = getActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); // remove the activity title to make space for tabs actionBar.setDisplayShowTitleEnabled(false); AFragment aFragment = new AFragment(); actionBar.addTab(actionBar.newTab().setText("Tab-A") .setTabListener(new ListenerA(aFragment))); BFragment bFragment = new BFragment(); actionBar.addTab(actionBar.newTab().setText("Tab-B") .setTabListener(new ListenerB(bFragment))); } //点击显示or隐藏ActionBar public boolean onTouchEvent(MotionEvent event){ ActionBar bar = getActionBar(); switch(event.getAction()){ case MotionEvent.ACTION_UP: if(bar.isShowing()) bar.hide(); else bar.show(); break; default: break; } return true; } private class ListenerA implements ActionBar.TabListener { private AFragment mFragment; // Called to create an instance of the listener when adding a new tab public ListenerA(AFragment fragment) { mFragment = fragment; } public void onTabSelected(Tab tab, FragmentTransaction ft) { ft.add(R.id.fragment, mFragment, null); } public void onTabUnselected(Tab tab, FragmentTransaction ft) { ft.remove(mFragment); } public void onTabReselected(Tab tab, FragmentTransaction ft) { // do nothing } } } private class ListenerB implements ActionBar.TabListener { private BFragment mFragment; // Called to create an instance of the listener when adding a new tab public ListenerB(BFragment fragment) { mFragment = fragment; } public void onTabSelected(Tab tab, FragmentTransaction ft) { ft.add(R.id.fragment, mFragment, null); } public void onTabUnselected(Tab tab, FragmentTransaction ft) { ft.remove(mFragment); } public void onTabReselected(Tab tab, FragmentTransaction ft) { // do nothing } } } }

其中涉及到两个Fragment,在前面Fragment的笔记中讲过,这里就不再赘述。类AFragment实现如下,BFragment实现与这类似:

public class AFragment extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.alayout, container, false); } }

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

您可能感兴趣的文章:Android自定义ActionBar实例Android中ActionBar以及menu的代码设置样式android中开启actionbar的两种方法Android ActionBar使用教程灵活使用Android中ActionBar和ViewPager切换页面Android巧用ActionBar实现tab导航效果Android ActionBar搜索功能用法详解Android巧用ActionBar实现下拉式导航Android编程实现ActionBar的home图标动画切换效果Android 活动条ActionBar的详解及实例代码Android ActionBarActivity设置全屏无标题实现方法总结Android学习笔记之ActionBar Item用法分析



actionbar tabs Android

需要 登录 后方可回复, 如果你还没有账号请 注册新账号