Android ActionBar详解(三):ActionBar实现切换Tabs标签

翻译 2013年12月04日 22:56:20

实现切换Tabs标签;

  

 Activity代码:  

  1. public class ActionBarTabs extends Activity {  
  2.   
  3. @Override  
  4. protected void onCreate(Bundle savedInstanceState) {  
  5. super.onCreate(savedInstanceState);  
  6. setContentView(R.layout.action_bar_tabs);  
  7. }  
  8.   
  9. public void onAddTab(View v) {  
  10. final ActionBar bar = getActionBar();  
  11. final int tabCount = bar.getTabCount();  
  12. final String text = "Tab " + tabCount;  
  13.   
  14. bar.addTab(bar.newTab().setText(text)  
  15. .setTabListener(new TabListener(new TabContentFragment(text))));  
  16. }  
  17.   
  18. public void onRemoveTab(View v) {  
  19. final ActionBar bar = getActionBar();  
  20. bar.removeTabAt(bar.getTabCount() - 1);  
  21. }  
  22.   
  23. public void onToggleTabs(View v) {  
  24. final ActionBar bar = getActionBar();  
  25.   
  26. if (bar.getNavigationMode() == ActionBar.NAVIGATION_MODE_TABS) {  
  27. bar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);  
  28.   
  29. bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE, ActionBar.DISPLAY_SHOW_TITLE);  
  30. else {  
  31. bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);  
  32. bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);  
  33. }  
  34. }  
  35.   
  36. public void onRemoveAllTabs(View v) {  
  37. getActionBar().removeAllTabs();  
  38. }  
  39.   
  40. private class TabListener implements ActionBar.TabListener {  
  41. private TabContentFragment mFragment;  
  42. public TabListener(TabContentFragment fragment) {  
  43.   
  44. mFragment = fragment;  
  45. }  
  46.   
  47. public void onTabSelected(Tab tab, FragmentTransaction ft) {  
  48. ft.add(R.id.fragment_content, mFragment, mFragment.getText());  
  49. }  
  50.   
  51.    
  52. public void onTabUnselected(Tab tab, FragmentTransaction ft) {  
  53. ft.remove(mFragment);  
  54. }  
  55.   
  56. public void onTabReselected(Tab tab, FragmentTransaction ft) {  
  57. Toast.makeText(ActionBarTabs.this"Reselected!", Toast.LENGTH_SHORT).show();  
  58. }  
  59.   
  60. }  
  61.   
  62. private class TabContentFragment extends Fragment {  
  63. private String mText;  
  64. public TabContentFragment(String text) {  
  65. mText = text;  
  66. }  
  67.   
  68. public String getText() {  
  69. return mText;  
  70. }  
  71.     
  72. @Override  
  73. public View onCreateView(LayoutInflater inflater, ViewGroup container,  
  74. Bundle savedInstanceState) {  
  75. View fragView = inflater.inflate(R.layout.action_bar_tab_content, container, false);  
  76. TextView text = (TextView) fragView.findViewById(R.id.text);  
  77. text.setText(mText);  
  78. return fragView;  
  79. }  
  80. }  
  81. }  

涉及的布局文件action_bar_tabs.xml代码为:
  1. < ?xml version="1.0" encoding="utf-8"?>  
  2. < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.   
  4. android:layout_width="match_parent"  
  5. android:layout_height="match_parent"  
  6. android:orientation="vertical">  
  7.   
  8. < FrameLayout android:id="@+id/fragment_content"  
  9. android:layout_width="match_parent"  
  10. android:layout_height="0dip"  
  11. android:layout_weight="1" />  
  12.   
  13. < LinearLayout android:layout_width="match_parent"  
  14. android:layout_height="0dip"  
  15. android:layout_weight="1"  
  16. android:orientation="vertical">  
  17.   
  18. < Button android:id="@+id/btn_add_tab"  
  19. android:layout_width="wrap_content"  
  20. android:layout_height="wrap_content"  
  21. android:text="@string/btn_add_tab"  
  22. android:onClick="onAddTab" />  
  23.   
  24. < Button android:id="@+id/btn_remove_tab"  
  25. android:layout_width="wrap_content"  
  26. android:layout_height="wrap_content"  
  27. android:text="@string/btn_remove_tab"  
  28. android:onClick="onRemoveTab" />  
  29.   
  30. < Button android:id="@+id/btn_toggle_tabs"  
  31. android:layout_width="wrap_content"  
  32. android:layout_height="wrap_content"  
  33. android:text="@string/btn_toggle_tabs"  
  34. android:onClick="onToggleTabs" />  
  35.   
  36. < Button android:id="@+id/btn_remove_all_tabs"  
  37. android:layout_width="wrap_content"  
  38. android:layout_height="wrap_content"  
  39. android:text="@string/btn_remove_all_tabs"  
  40. android:onClick="onRemoveAllTabs" />  
  41. < /LinearLayout>  
  42.   
  43. < /LinearLayout>  

布局文件action_bar_tab_content.xml;
  1. < ?xml version="1.0" encoding="utf-8"?>  
  2. < TextView xmlns:android="http://schemas.android.com/apk/res/android"  
  3.   
  4. android:id="@+id/text"  
  5. android:layout_width="wrap_content"  
  6. android:layout_height="wrap_content" /> 



http://blog.csdn.net/t12x3456/article/details/8145298

相关文章推荐

Android之ActionBar、Tabs、Fragment、ViewPager实现标签页切换并缓存页面

感觉 Android 到处都是坑,每个地方都要把人折腾半天。 今天来简单说说 Android之ActionBar、Tabs、Fragment、ViewPager 实现标签页切换并缓存页面 关于他们的介...

Android ActionBar Tabs学习笔记

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

Android编程心得-使用ActionBar+Fragment+ViewPager实现动态切换Menu效果

1.首先上效果图 2.本例实现的效果主要适用于当前页面有多个页签时,进行Fragment切换时,可以利用不同的Menu样式与当前Fragment中的内容进行配合,可以大大增加复用性,看到效...

Android笔记 ActionBar+Fragment+ViewPager实现仿微信首页滑动切换窗口

前一段时间做过TabHost切换窗口的Demo,但是TabHost不再建议使用,所以做了一个ActionBar+Fragment+ViewPager实现仿微信滑动切换窗口的Demo。     不多说...

Android技术——视图切换(一)利用ActionBar实现Tab导航

一、滑动菜单有两种实现方法:借助ActionBar;借助FragmentTabHost 二、借助ActionBar实现滑动菜单

Android:实现ActionBar的home图标动画切换

Material Design中一个重要特性是侧滑菜单 展开/关闭 时,ActionBar上的home图标也动画切换。本例要实现的正是这个效果。

Android ActionBar中进行Fragment切换

非常感谢小源求学的博文在ActionBar中进行Fragment之间的切换 博文链接地址:http://www.cnblogs.com/hanyuan/archive/2012/04/10/Acti...

Android 切换Fragment时改变actionBar

这次在做项目时遇到一个问题,怎么在切换Fragment时,顺便改变一下actionBar。项目是一个Activity上面承载着四个Fragment,第一个Fragment要求标题栏上面有加号,第二个、...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)