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

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

[复制链接]
发表于 2015-3-30 16:43 | 显示全部楼层 |阅读模式
在网上看到的一个源码,是关于ActivityGroup中Activity内跳转和外跳转的。有兴趣的朋友可以研究一下!
device-2015-03-28-172604[1].png 2 o) i% K) p# e6 o9 R7 a
device-2015-03-28-172614[1].png ; @' V6 U/ @: t* [* U! W% i" r
( C8 z* |6 A9 }3 i
源码片段:) w9 z$ m& W( H1 i9 b6 Q6 o
  1. public class MainActivityGroup extends AbsActivityGroup{
    ( R% w% \( u/ @5 n

  2. ( [3 H. {# q6 ]0 n* c! X( }. ^
  3.     // 第一个需要实现的方法,直接返回ActivityGroup实现类的layou布局即可
    . v! T0 P8 U! g7 C; y1 a& J- g$ S
  4.     // 注意该布局一定要有个id为activity_group_container的布局用来放子Activity的布局
    6 a: D8 v, o" t7 s- i0 g
  5.     @Override, C2 @, h$ G; I( X( M
  6.     protected int getLayoutResourceId() {1 f( w' w* M+ Y& |  X% S! f
  7.         // 横向排列选项卡  ?4 i; R7 n  k9 s& [+ @4 q
  8.         return R.layout.activity_group_bottom5_layout;
    8 n6 x% v, B. Z# ^/ G3 ?
  9.         // 如果是纵向排列选项卡,可以返回下面这个布局
    + E0 e* Z2 o2 ~4 b2 w4 Y
  10.         //return R.layout.activity_group_left5_layout;
    0 |) A1 l1 {8 j/ |) \/ A! ]
  11.     }( @. s3 B4 F) B/ b' u

  12. 1 H) Z, \/ F0 }: L- p
  13.     // 第二个需要实现的方法,返回layout布局下选项卡对应的radioButton的id9 m0 m* M2 p2 g' m6 o' @7 d
  14.     @Override8 Q( M* X, g7 O) Q8 m, b
  15.     protected int[] getRadioButtonIds() {
    + d% {1 A6 v5 J( E$ N% f% \
  16.         return new int[] { R.id.activity_group_radioButton0,- G4 N4 t) |; F3 z1 W& C
  17.                 R.id.activity_group_radioButton1,/ c* s8 p7 O- @, h  J6 J
  18.                 R.id.activity_group_radioButton2,
      e8 {9 }* ~1 y) g' p
  19.                 R.id.activity_group_radioButton3,
    + F1 J! K4 w+ ^
  20.                 R.id.activity_group_radioButton4 };1 D9 g- Q  j* ?! [! x5 g7 J
  21.     }: O6 Q- h8 p2 s3 W8 V( n4 a9 [! [

  22. . G4 H: l$ f* }7 W8 v/ A
  23.     // 第三个需要实现的方法,上面一个方法中的radioButton对应的图标,注意图标的尺寸要自己调整到合适大小0 h  I: m) t$ M* D# J8 X$ L$ l
  24.     @Override$ }1 F1 [! X( Z2 @+ F. W
  25.     protected int[] getRadioButtonImageIds() {0 i, v  @5 c% o6 _% F
  26.         return new int[] { R.drawable.icon2, R.drawable.icon2, R.drawable.icon2,  d( @- C+ w' j/ W) G9 D
  27.                 R.drawable.icon2, R.drawable.icon2, };* ?8 I. c5 P# L
  28.     }. ~# m: Y1 B1 T0 w
  29. 0 I- b% c, d3 g1 H  T) @, @. Z
  30.     // 第四个需要实现的方法,radioButton对应的文字,也就是选项卡标签的文字,
    3 G: i7 {5 w9 d2 s0 o+ _- s
  31.     // 最好不要太长,否则要到布局文件里调整文字大小到适应界面. @% r; X6 k2 r# m4 K
  32.     @Override
    0 j* y7 |8 o' v! y4 Q4 U& N  {
  33.     protected String[] getRadioButtonTexts() {
    : g2 ?, W; w8 c; k  P
  34.         return new String[]{"A","B","C","D","E"};
    9 Z2 U- B$ G3 h0 N' C
  35.     }
    2 |$ n3 S3 |& n

  36. 5 t1 v! Z- ]6 e( g* P" f4 @' }0 u2 e$ u5 B
  37.     // 第五个需要实现的方法,返回每个选项卡对应的第一个子Activity(注意要继承自AbsSubActivity)" U: e% d8 m# G6 J! J# C" I5 V
  38.     @SuppressWarnings("unchecked"): l* ~; Q9 t3 O5 a: |* l
  39.     @Override- N  o0 {3 h6 I- }2 t
  40.     public Class<!--? extends Activity-->[] getClasses() {; {1 O2 U' v& M$ Q' ^. n
  41.         Class<!--? extends Activity-->[] classes = new Class[] { A1Activity.class,# ?  {3 N" w2 c0 A: W% f
  42.                 B1Activity.class, C1Activity.class, D1Activity.class,
    3 l" p' n0 x; _' T
  43.                 E1Activity.class };
    1 E+ O  g7 u$ {' j  \' a# H
  44.         return classes;
    * Z8 ]/ u% o4 O
  45.     }4 W, l! Z9 x6 H1 N1 S1 x

  46. 9 X$ T) q5 O( j
  47. }
复制代码
/ j/ I7 L* a+ s9 |8 @# {6 \

2 h  c5 a( c& ^' n% d) W源码下载:
& B. N; u+ ~8 A% ~4 T& k
游客,如果您要查看本帖隐藏内容请回复

- y: Q# f  M" r8 b* u
您需要登录后才可以回帖 登录 | 注册

本版积分规则

© 2001-2014Comsenz Inc.

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