本文实例讲述了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) { // 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 Tabs用法实例分析全部内容,希望文章能够帮你解决Android编程之ActionBar Tabs用法实例分析所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)