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

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

[复制链接]
发表于 2015-3-30 16:43 | 显示全部楼层 |阅读模式
在网上看到的一个源码,是关于ActivityGroup中Activity内跳转和外跳转的。有兴趣的朋友可以研究一下!
device-2015-03-28-172604[1].png
: Z4 D3 m+ h0 z9 V! [2 E  a device-2015-03-28-172614[1].png # g2 O: |( M* w

" p8 e5 D# H) n源码片段:) n2 D0 l. ]. x4 U# k
  1. public class MainActivityGroup extends AbsActivityGroup{
    ) X' h/ r0 m4 z/ ]7 I( C4 j6 I

  2. 0 u4 U$ i% H0 K5 k' y5 U
  3.     // 第一个需要实现的方法,直接返回ActivityGroup实现类的layou布局即可2 X- I; y. L' E/ I
  4.     // 注意该布局一定要有个id为activity_group_container的布局用来放子Activity的布局
    + y) L  S. P4 d4 |2 c
  5.     @Override
    : ]/ X# m9 I( |7 d
  6.     protected int getLayoutResourceId() {3 z2 D, d, k* Z
  7.         // 横向排列选项卡
    . m. A" m- o4 i% G: O
  8.         return R.layout.activity_group_bottom5_layout;
    & F9 s7 B; ^, X, j3 N
  9.         // 如果是纵向排列选项卡,可以返回下面这个布局
    * n) \& M+ I) i
  10.         //return R.layout.activity_group_left5_layout;
    9 M% }" {. [7 E+ G. P7 k4 ?% C+ V
  11.     }; |) j. l: s. V2 z2 Y$ Y
  12. + r, d. J' d6 v* h$ \; v9 Y
  13.     // 第二个需要实现的方法,返回layout布局下选项卡对应的radioButton的id
    $ F6 k8 f/ w) @( p, G
  14.     @Override9 M# \6 F& |. P( m5 p
  15.     protected int[] getRadioButtonIds() {
    ! L" O! O* D% |7 w: W1 b
  16.         return new int[] { R.id.activity_group_radioButton0,
    ( @9 W- k; Q: M5 h9 B
  17.                 R.id.activity_group_radioButton1,2 _# ~& }# h1 ^0 o% M3 C
  18.                 R.id.activity_group_radioButton2,5 V& Z( M  R  r
  19.                 R.id.activity_group_radioButton3,
    ( s3 t; {& o: J& Y3 |
  20.                 R.id.activity_group_radioButton4 };
    * q1 F6 j% E) ~4 m) b+ y
  21.     }
    # P4 S; i$ ?) D/ d" p& ]

  22. : ^3 {% X4 y0 U: c. q% ]" O# R
  23.     // 第三个需要实现的方法,上面一个方法中的radioButton对应的图标,注意图标的尺寸要自己调整到合适大小
    # S; K) r* Z- V& y4 i3 m- C  D
  24.     @Override0 L0 d! L5 j( b! u4 f
  25.     protected int[] getRadioButtonImageIds() {% K# S/ a; V! f
  26.         return new int[] { R.drawable.icon2, R.drawable.icon2, R.drawable.icon2,% U; s' [% \# ^* k6 u6 d$ F
  27.                 R.drawable.icon2, R.drawable.icon2, };) [+ z: u# l, c& |& P! |% a7 K" P
  28.     }. y; y: W* Y7 F: _7 W( B

  29. 3 `5 E7 u( [- G( ^9 O5 _2 y7 R! C
  30.     // 第四个需要实现的方法,radioButton对应的文字,也就是选项卡标签的文字,6 b! M6 Q5 @4 S( l* G/ x4 a+ [. M; |
  31.     // 最好不要太长,否则要到布局文件里调整文字大小到适应界面
    6 t* I. o. r2 Q9 V1 F' W6 j
  32.     @Override
    8 `, Q; F; N: X5 Q
  33.     protected String[] getRadioButtonTexts() {1 h1 M0 L1 ~$ `' ]
  34.         return new String[]{"A","B","C","D","E"};
    # ~; t) q) V$ m' U8 ?
  35.     }
    3 n, N! {2 r8 u: a

  36. 5 l, I$ S. H* E4 W0 R4 Q
  37.     // 第五个需要实现的方法,返回每个选项卡对应的第一个子Activity(注意要继承自AbsSubActivity)! q: Z( E, h' g: k9 I' Q
  38.     @SuppressWarnings("unchecked"): f: [, o) y( ]0 R7 V
  39.     @Override
    6 K/ K4 |* e; K' c: T4 u  `" M
  40.     public Class<!--? extends Activity-->[] getClasses() {
    7 p: V+ y' y, v, i# t- R6 ]- M
  41.         Class<!--? extends Activity-->[] classes = new Class[] { A1Activity.class,/ ~' n5 Q# t4 X6 P- |7 D
  42.                 B1Activity.class, C1Activity.class, D1Activity.class,
    1 `7 S1 c, r7 |
  43.                 E1Activity.class };! M+ G9 k, z) ]6 G
  44.         return classes;, G/ \# S, c7 }$ M5 v2 n
  45.     }
    " T' K+ x- N2 ]

  46. - f0 n! d7 [; ~
  47. }
复制代码
; e. [  m! L& p# r! L$ ]
  R# T1 j; m5 J# e3 d8 Q
源码下载:0 m' ]0 g! E4 |0 O  }& {
游客,如果您要查看本帖隐藏内容请回复
5 }( I/ K! R- u
您需要登录后才可以回帖 登录 | 注册

本版积分规则

© 2001-2014Comsenz Inc.

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