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

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

[复制链接]
发表于 2015-3-30 16:43 | 显示全部楼层 |阅读模式
在网上看到的一个源码,是关于ActivityGroup中Activity内跳转和外跳转的。有兴趣的朋友可以研究一下!
device-2015-03-28-172604[1].png
, D& m. \  C/ t device-2015-03-28-172614[1].png 0 v" _8 g5 \( I0 t9 W5 t
# B7 v" ]. e; j' M7 D
源码片段:
  Z4 o- I, v0 T, u, G9 Q
  1. public class MainActivityGroup extends AbsActivityGroup{
    ! |9 K! L- s9 w  D+ Z; B

  2. ( l' W$ m0 |3 k' i
  3.     // 第一个需要实现的方法,直接返回ActivityGroup实现类的layou布局即可
    1 y) I3 y& x. u" M  n" a
  4.     // 注意该布局一定要有个id为activity_group_container的布局用来放子Activity的布局
    ; U' E- |  m# [9 {8 E+ _/ F
  5.     @Override0 M( w2 q( g) a$ i! i* e" P) v: g
  6.     protected int getLayoutResourceId() {
    , `3 E" {5 Y* Q+ u; g/ e- c! x
  7.         // 横向排列选项卡  h( P$ @' f$ K4 e" y
  8.         return R.layout.activity_group_bottom5_layout;
    6 x6 k' @4 w% ^# |6 N9 n9 ^9 r) _
  9.         // 如果是纵向排列选项卡,可以返回下面这个布局+ g% k6 I9 x- v$ L, e0 U
  10.         //return R.layout.activity_group_left5_layout;
    ! O/ I! k/ x2 `* q* F  A0 C
  11.     }! C8 x( I) u2 s, S  G

  12. ) d+ _% r2 _1 I, w
  13.     // 第二个需要实现的方法,返回layout布局下选项卡对应的radioButton的id
    . q' r9 I( R% r' Q; R/ ]  W
  14.     @Override9 o% O  e9 o7 O  o+ |% D: a
  15.     protected int[] getRadioButtonIds() {
    & j0 U  S. q2 z7 E/ ]
  16.         return new int[] { R.id.activity_group_radioButton0,/ {" b0 f; T: ^, r5 ~: D% F, n- ]+ V
  17.                 R.id.activity_group_radioButton1,. |! p9 Y" p7 E/ N. R7 \- j
  18.                 R.id.activity_group_radioButton2,
    + u2 z- H7 l$ @7 a1 A. D- N
  19.                 R.id.activity_group_radioButton3,
    0 D- F# A  H( `* B* k/ n' X" }
  20.                 R.id.activity_group_radioButton4 };
    ' U; a6 d# c- O. ], m7 n6 X
  21.     }
    5 l# ?/ d9 t# H5 ~9 w9 M
  22. * @1 W6 {1 M, t+ `  Y
  23.     // 第三个需要实现的方法,上面一个方法中的radioButton对应的图标,注意图标的尺寸要自己调整到合适大小  @4 x/ `% W+ l: N! s* m  A5 Q
  24.     @Override
    ! Y" u: h& w. F- y! K
  25.     protected int[] getRadioButtonImageIds() {
    ( H" {, \6 p( F2 G8 X2 R
  26.         return new int[] { R.drawable.icon2, R.drawable.icon2, R.drawable.icon2,
    ) j2 H: R+ ]3 v5 C; `
  27.                 R.drawable.icon2, R.drawable.icon2, };1 c$ B, N5 ]0 f4 p8 W* D
  28.     }2 k0 S( D& O" G6 c4 x- x6 l7 a: d' G
  29. : l" x& M, R! _- G* N9 X
  30.     // 第四个需要实现的方法,radioButton对应的文字,也就是选项卡标签的文字,
    3 X$ u) k$ e1 P# X: }  ^3 Q6 d& Z& i
  31.     // 最好不要太长,否则要到布局文件里调整文字大小到适应界面' q% v1 E# K: C  C) z
  32.     @Override3 F+ U+ b( u; r5 A) [: n: X
  33.     protected String[] getRadioButtonTexts() {
    / R( W8 a/ q1 S# C
  34.         return new String[]{"A","B","C","D","E"};
    " |6 a' m& i/ j0 m6 _. w/ B
  35.     }
    # b* [8 Z+ G/ q" {6 r6 _1 {7 p

  36. 9 n' d. k7 J: Z* h7 p, o. s% e5 s
  37.     // 第五个需要实现的方法,返回每个选项卡对应的第一个子Activity(注意要继承自AbsSubActivity)
    ' B) m. R* |" t& K; n
  38.     @SuppressWarnings("unchecked")/ U  l; x) X, I
  39.     @Override8 k7 Y  P( j- b) w
  40.     public Class<!--? extends Activity-->[] getClasses() {
    9 q5 f" _$ h) Q6 j
  41.         Class<!--? extends Activity-->[] classes = new Class[] { A1Activity.class,, i* Y9 e9 k; R6 [2 j( p* P
  42.                 B1Activity.class, C1Activity.class, D1Activity.class,
    % l  D$ D2 j: M$ S
  43.                 E1Activity.class };
    ; z/ y) Z! d; j# z, {
  44.         return classes;* q/ ^$ }" c6 x( V" G
  45.     }
    4 k9 u4 j7 ?, q4 ~0 C0 c  {
  46. % C8 K- |& q# ]' s1 X) M+ P* r
  47. }
复制代码

* g. J2 D& ~2 e' ~3 d' a. l$ q! w! @4 F, a3 d
源码下载:
# }) n) B1 C* @
游客,如果您要查看本帖隐藏内容请回复
% W9 s: i5 \1 @, e: o( L* `
您需要登录后才可以回帖 登录 | 注册

本版积分规则

© 2001-2014Comsenz Inc.

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