请选择 进入手机版 | 继续访问电脑版
查看: 3360|回复: 0

[Android开发资源分享] ActivityGroup之Activity内跳转和外跳转

[复制链接]
发表于 2015-3-30 16:43 | 显示全部楼层 |阅读模式
在网上看到的一个源码,是关于ActivityGroup中Activity内跳转和外跳转的。有兴趣的朋友可以研究一下!
device-2015-03-28-172604[1].png
; M0 J' J/ A& E" L device-2015-03-28-172614[1].png
/ {2 B  ~( d( e. {
8 R9 w% G6 h& s0 F源码片段:9 _. L6 u0 D$ ?; A
  1. public class MainActivityGroup extends AbsActivityGroup{  j, R) r9 H( N1 I/ n- J* ]1 m! ]

  2. 2 B' k! f; x" `6 }0 B" Q% M
  3.     // 第一个需要实现的方法,直接返回ActivityGroup实现类的layou布局即可
    3 m' }: U0 q. U
  4.     // 注意该布局一定要有个id为activity_group_container的布局用来放子Activity的布局4 m# W- a; m9 p
  5.     @Override
    4 ?& K7 o3 o+ Z& V
  6.     protected int getLayoutResourceId() {
    ' V0 G% V: e4 `
  7.         // 横向排列选项卡
    5 n% Q% c$ X$ s; A1 o/ c0 H+ J+ F* z
  8.         return R.layout.activity_group_bottom5_layout;
    9 d( k1 U5 D9 m7 c! M
  9.         // 如果是纵向排列选项卡,可以返回下面这个布局( A3 b$ i8 g2 j
  10.         //return R.layout.activity_group_left5_layout;
    * ]! c7 K+ f* s$ g0 b& B  q, d
  11.     }
    + D. }, S% l3 d6 g, ^; y$ e
  12. % U3 o6 A1 i" P$ Z2 f. Q
  13.     // 第二个需要实现的方法,返回layout布局下选项卡对应的radioButton的id
      ^4 L9 d8 W4 ?, \1 p& e1 D+ Q( Q
  14.     @Override, F, p% s' N4 c; {0 @
  15.     protected int[] getRadioButtonIds() {1 c/ \2 [6 A/ g" l
  16.         return new int[] { R.id.activity_group_radioButton0,8 o. _6 A* {8 M' L. i+ t/ S9 x
  17.                 R.id.activity_group_radioButton1,) o# X$ R0 u) [8 ~2 i
  18.                 R.id.activity_group_radioButton2,. I2 H7 P- M- b6 }3 f( Q3 e5 G
  19.                 R.id.activity_group_radioButton3,+ k1 n' J. I4 y, f, Y! D
  20.                 R.id.activity_group_radioButton4 };
    9 P4 B. C- D. X( w
  21.     }3 J! g- ^0 y( z5 w# p( o  P

  22. ' S) k6 M' M1 n( O5 @8 W% D+ N
  23.     // 第三个需要实现的方法,上面一个方法中的radioButton对应的图标,注意图标的尺寸要自己调整到合适大小
    5 f3 {% z6 i2 U. X! l, e4 }
  24.     @Override0 i0 Q! a8 L* T
  25.     protected int[] getRadioButtonImageIds() {
    7 R6 H; }# W* v9 A6 z& ]
  26.         return new int[] { R.drawable.icon2, R.drawable.icon2, R.drawable.icon2,$ J0 i& X/ o$ R
  27.                 R.drawable.icon2, R.drawable.icon2, };( o0 }% q1 Z* n8 u! N3 Y
  28.     }
    3 R0 u' X' C( u% B3 S5 ]! }

  29. 0 s( h" [; {$ W/ v) |9 I
  30.     // 第四个需要实现的方法,radioButton对应的文字,也就是选项卡标签的文字,
    4 g" l& b0 b% F% P1 @3 u
  31.     // 最好不要太长,否则要到布局文件里调整文字大小到适应界面* W  O: y5 |( M7 K& M# y: h
  32.     @Override" N& m" b7 z: v3 h$ [2 |
  33.     protected String[] getRadioButtonTexts() {
    $ g! H) u  ?; J5 a( c! A
  34.         return new String[]{"A","B","C","D","E"};& B; ?! Q; j+ s! n
  35.     }7 T3 e/ @6 K2 T* i3 U
  36. $ i. X4 Q& ?+ I' y( b$ E9 @+ a
  37.     // 第五个需要实现的方法,返回每个选项卡对应的第一个子Activity(注意要继承自AbsSubActivity)
    % r, i  V2 H6 \
  38.     @SuppressWarnings("unchecked")- d* `' ~2 h. `- E
  39.     @Override3 M2 e, g1 h) d
  40.     public Class<!--? extends Activity-->[] getClasses() {
    , z! ?3 o1 \2 `$ u
  41.         Class<!--? extends Activity-->[] classes = new Class[] { A1Activity.class,' S' ?# @4 C8 r5 o3 u
  42.                 B1Activity.class, C1Activity.class, D1Activity.class,
    7 B# L9 G3 K8 N3 {/ x
  43.                 E1Activity.class };! J. B' @$ V& S
  44.         return classes;
    + I0 k7 l+ G$ n& H( ?
  45.     }
    0 [  A/ N+ P% X: ~- ^! M

  46. ; H3 C& i. N" M- t5 l. G' Q
  47. }
复制代码
6 l2 M: [3 Y6 w' w3 ~  `9 d* T: y

/ W. r, w  k+ C( h% M' t5 K4 I. u源码下载:
& z1 Y! n1 R. D7 U' C" e; f
游客,如果您要查看本帖隐藏内容请回复
% P# G+ y; h* l) V- D
您需要登录后才可以回帖 登录 | 注册

本版积分规则

© 2001-2014Comsenz Inc.

快速回复 返回顶部 返回列表