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

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

[复制链接]
发表于 2015-3-30 16:43 | 显示全部楼层 |阅读模式
在网上看到的一个源码,是关于ActivityGroup中Activity内跳转和外跳转的。有兴趣的朋友可以研究一下!
device-2015-03-28-172604[1].png % s) ]1 m) ^. y' B/ t( t3 k
device-2015-03-28-172614[1].png / f6 L+ M: R& H

0 I  I* r  R9 J  B源码片段:
& M+ Y6 q2 m+ O6 l0 N5 ~& [
  1. public class MainActivityGroup extends AbsActivityGroup{( ?6 g7 Y3 a0 k* O
  2. . b, r% W, ]" i7 [% h- c3 m; v* m
  3.     // 第一个需要实现的方法,直接返回ActivityGroup实现类的layou布局即可% `# b9 R# W" J. [1 J8 Y) Z# G
  4.     // 注意该布局一定要有个id为activity_group_container的布局用来放子Activity的布局5 g6 C/ w0 W$ q. Z
  5.     @Override( B+ Q  I0 ~8 F; i- A
  6.     protected int getLayoutResourceId() {
      H( a3 _8 m& i* f. X% U# ]/ |
  7.         // 横向排列选项卡
    9 j, Q8 e3 P7 x% u# j5 ^* W7 @3 \3 D
  8.         return R.layout.activity_group_bottom5_layout;
    4 b  Z# F+ a$ x( R. T6 z7 X
  9.         // 如果是纵向排列选项卡,可以返回下面这个布局
    ) M4 r) Z) `3 w1 P) S" S  C$ z( y
  10.         //return R.layout.activity_group_left5_layout;
    3 Q6 \) h2 e. X$ [9 t: S4 |# D
  11.     }
    ' i# T  c2 v" [4 v3 |: ^( c
  12. 3 n. ?  Y/ |4 n6 e# e7 j* _8 U
  13.     // 第二个需要实现的方法,返回layout布局下选项卡对应的radioButton的id& ^, c8 I6 e* ]+ Y- T
  14.     @Override
    $ J1 b$ E; K/ x; T" q% ?: h
  15.     protected int[] getRadioButtonIds() {; q! u; O3 d0 d0 q. j' q
  16.         return new int[] { R.id.activity_group_radioButton0,
    : U+ ~6 t, O% s2 G* u/ B! U
  17.                 R.id.activity_group_radioButton1,7 A5 e' Q$ a1 V6 C
  18.                 R.id.activity_group_radioButton2,8 x5 g8 n" v9 b, f. g5 m
  19.                 R.id.activity_group_radioButton3,; P7 Y) {" p, N' G3 y$ M7 @
  20.                 R.id.activity_group_radioButton4 };8 u9 S9 \; a$ ~
  21.     }
    4 I# ^* G) c( n. }
  22. 0 x' @# `3 v$ D  ]4 i/ v* W1 [
  23.     // 第三个需要实现的方法,上面一个方法中的radioButton对应的图标,注意图标的尺寸要自己调整到合适大小( S' x7 ~3 f  ?
  24.     @Override
    " b6 A" v4 i+ m0 q) R6 U+ F! m  ~0 U
  25.     protected int[] getRadioButtonImageIds() {  P6 E1 E6 X7 V7 ^* p+ K$ m% A
  26.         return new int[] { R.drawable.icon2, R.drawable.icon2, R.drawable.icon2,; t# H" b% ^# N
  27.                 R.drawable.icon2, R.drawable.icon2, };
    1 r, Q4 b* G+ G: T, B2 t6 a7 N
  28.     }
    $ C: E+ l6 Y* n/ ~- _
  29. ' ^; `. U! A# F3 t
  30.     // 第四个需要实现的方法,radioButton对应的文字,也就是选项卡标签的文字,, v$ L3 X4 [; J7 m
  31.     // 最好不要太长,否则要到布局文件里调整文字大小到适应界面
    , j8 f- T" j9 m2 ^2 s0 T. s3 ~& R. A
  32.     @Override
    , z2 G) l2 k& j1 t( j6 Y
  33.     protected String[] getRadioButtonTexts() {
    . K- R4 C, g0 l3 k0 G
  34.         return new String[]{"A","B","C","D","E"};
    # N( c  E& ]! Z2 r) e
  35.     }
    ! `: [" Z8 y1 @& |' P1 s1 ^

  36. $ Y$ P9 d  y) g) z" ]/ E6 K
  37.     // 第五个需要实现的方法,返回每个选项卡对应的第一个子Activity(注意要继承自AbsSubActivity)! z+ C2 x* U) Q3 `) G2 M# k# t. k4 N
  38.     @SuppressWarnings("unchecked")6 k9 C1 M3 ]2 X6 A7 J1 h# S/ E+ h+ U
  39.     @Override+ W3 b) J, f: ]9 g9 x9 i& u5 r
  40.     public Class<!--? extends Activity-->[] getClasses() {( L. x2 I% D: D1 L6 S
  41.         Class<!--? extends Activity-->[] classes = new Class[] { A1Activity.class,
    / G* c: l. ]( O) S# ~
  42.                 B1Activity.class, C1Activity.class, D1Activity.class,; A; r4 K* F7 l8 ~# H" K
  43.                 E1Activity.class };
    4 {' U4 k: Z! @2 t
  44.         return classes;
    % o2 q( O+ K1 c, ?6 x# {2 a5 q, }5 p
  45.     }( k  ?; e. X8 P4 H

  46. ! X: [7 S$ m. J! d
  47. }
复制代码
. r0 N7 l8 a- n  x" x
# c& L) j0 R& q6 J. o
源码下载:
. o$ r" _7 [# L5 v
游客,如果您要查看本帖隐藏内容请回复

1 B& A* S& i) f, z7 w3 Z
您需要登录后才可以回帖 登录 | 注册

本版积分规则

© 2001-2014Comsenz Inc.

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