详解android actionbar之三:实现actionbar tabs标签的切换

鸡啄米  •  扫码分享
我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  
java代码
  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. }&&

随意打赏

提交建议
微信扫一扫,分享给好友吧。