1- package com .hjq .demo .common ;
2-
3- import android .content .pm .ActivityInfo ;
4- import android .view .View ;
5-
6- import com .hjq .bar .OnTitleBarListener ;
7- import com .hjq .bar .TitleBar ;
8- import com .hjq .toast .ToastUtils ;
9- import com .umeng .analytics .MobclickAgent ;
10-
11- import butterknife .ButterKnife ;
12- import butterknife .Unbinder ;
13-
14- /**
15- * author : HJQ
16- * github : https://github.com/getActivity/AndroidProject
17- * time : 2018/10/18
18- * desc : 项目中的Activity基类
19- */
20- public abstract class CommonActivity extends UIActivity
21- implements OnTitleBarListener {
22-
23- private Unbinder mButterKnife ;//View注解
24-
25- @ Override
26- public void init () {
27-
28- //初始化标题栏的监听
29- if (getTitleBarId () > 0 ) {
30- if (findViewById (getTitleBarId ()) instanceof TitleBar ) {
31- ((TitleBar ) findViewById (getTitleBarId ())).setOnTitleBarListener (this );
32- }
33- }
34-
35- mButterKnife = ButterKnife .bind (this );
36-
37- initOrientation ();
38-
39- super .init ();
40- }
41-
42- /**
43- * 初始化横竖屏方向,会和 LauncherTheme 主题样式有冲突,注意不要同时使用
44- */
45- protected void initOrientation () {
46- //如果没有指定屏幕方向,则默认为竖屏
47- if (getRequestedOrientation () == ActivityInfo .SCREEN_ORIENTATION_UNSPECIFIED ) {
48- setRequestedOrientation (ActivityInfo .SCREEN_ORIENTATION_PORTRAIT );
49- }
50- }
51-
52- /**
53- * 设置标题栏的标题
54- */
55- @ Override
56- public void setTitle (int titleId ) {
57- setTitle (getText (titleId ));
58- }
59-
60- /**
61- * 设置标题栏的标题
62- */
63- @ Override
64- public void setTitle (CharSequence title ) {
65- super .setTitle (title );
66- TitleBar titleBar = getTitleBar ();
67- if (titleBar != null ) {
68- titleBar .setTitle (title );
69- }
70- }
71-
72- protected TitleBar getTitleBar () {
73- if (getTitleBarId () > 0 && findViewById (getTitleBarId ()) instanceof TitleBar ) {
74- return findViewById (getTitleBarId ());
75- }
76- return null ;
77- }
78-
79- @ Override
80- public boolean statusBarDarkFont () {
81- //返回true表示黑色字体
82- return true ;
83- }
84-
85- /**
86- * {@link OnTitleBarListener}
87- */
88-
89- // 标题栏左边的View被点击了
90- @ Override
91- public void onLeftClick (View v ) {
92- onBackPressed ();
93- }
94-
95- // 标题栏中间的View被点击了
96- @ Override
97- public void onTitleClick (View v ) {}
98-
99- // 标题栏右边的View被点击了
100- @ Override
101- public void onRightClick (View v ) {}
102-
103- @ Override
104- protected void onResume () {
105- super .onResume ();
106- // 手动统计页面
107- MobclickAgent .onPageStart (getClass ().getSimpleName ());
108- // 友盟统计
109- MobclickAgent .onResume (this );
110- }
111-
112- @ Override
113- protected void onPause () {
114- super .onPause ();
115- // 手动统计页面,必须保证 onPageEnd 在 onPause 之前调用,因为SDK会在 onPause 中保存onPageEnd统计到的页面数据
116- MobclickAgent .onPageEnd (getClass ().getSimpleName ());
117- // 友盟统计
118- MobclickAgent .onPause (this );
119- }
120-
121- @ Override
122- protected void onDestroy () {
123- super .onDestroy ();
124- if (mButterKnife != null ) mButterKnife .unbind ();
125- }
126-
127- /**
128- * 显示一个吐司
129- */
130- public void toast (CharSequence s ) {
131- ToastUtils .show (s );
132- }
1+ package com .hjq .demo .base ;
2+
3+ import android .content .pm .ActivityInfo ;
4+ import android .view .View ;
5+
6+ import com .hjq .bar .OnTitleBarListener ;
7+ import com .hjq .bar .TitleBar ;
8+ import com .hjq .toast .ToastUtils ;
9+ import com .hjq .umeng .UmengHelper ;
10+
11+ import butterknife .ButterKnife ;
12+ import butterknife .Unbinder ;
13+
14+ /**
15+ * author : HJQ
16+ * github : https://github.com/getActivity/AndroidProject
17+ * time : 2018/10/18
18+ * desc : 项目中的Activity基类
19+ */
20+ public abstract class MyActivity extends UIActivity
21+ implements OnTitleBarListener {
22+
23+ private Unbinder mButterKnife ;//View注解
24+
25+ @ Override
26+ public void init () {
27+
28+ //初始化标题栏的监听
29+ if (getTitleBarId () > 0 ) {
30+ if (findViewById (getTitleBarId ()) instanceof TitleBar ) {
31+ ((TitleBar ) findViewById (getTitleBarId ())).setOnTitleBarListener (this );
32+ }
33+ }
34+
35+ mButterKnife = ButterKnife .bind (this );
36+
37+ initOrientation ();
38+
39+ super .init ();
40+ }
41+
42+ /**
43+ * 初始化横竖屏方向,会和 LauncherTheme 主题样式有冲突,注意不要同时使用
44+ */
45+ protected void initOrientation () {
46+ //如果没有指定屏幕方向,则默认为竖屏
47+ if (getRequestedOrientation () == ActivityInfo .SCREEN_ORIENTATION_UNSPECIFIED ) {
48+ setRequestedOrientation (ActivityInfo .SCREEN_ORIENTATION_PORTRAIT );
49+ }
50+ }
51+
52+ /**
53+ * 设置标题栏的标题
54+ */
55+ @ Override
56+ public void setTitle (int titleId ) {
57+ setTitle (getText (titleId ));
58+ }
59+
60+ /**
61+ * 设置标题栏的标题
62+ */
63+ @ Override
64+ public void setTitle (CharSequence title ) {
65+ super .setTitle (title );
66+ TitleBar titleBar = getTitleBar ();
67+ if (titleBar != null ) {
68+ titleBar .setTitle (title );
69+ }
70+ }
71+
72+ protected TitleBar getTitleBar () {
73+ if (getTitleBarId () > 0 && findViewById (getTitleBarId ()) instanceof TitleBar ) {
74+ return findViewById (getTitleBarId ());
75+ }
76+ return null ;
77+ }
78+
79+ @ Override
80+ public boolean statusBarDarkFont () {
81+ //返回true表示黑色字体
82+ return true ;
83+ }
84+
85+ /**
86+ * {@link OnTitleBarListener}
87+ */
88+
89+ // 标题栏左边的View被点击了
90+ @ Override
91+ public void onLeftClick (View v ) {
92+ onBackPressed ();
93+ }
94+
95+ // 标题栏中间的View被点击了
96+ @ Override
97+ public void onTitleClick (View v ) {}
98+
99+ // 标题栏右边的View被点击了
100+ @ Override
101+ public void onRightClick (View v ) {}
102+
103+ @ Override
104+ protected void onResume () {
105+ super .onResume ();
106+ // 友盟统计
107+ UmengHelper .onResume (this );
108+ }
109+
110+ @ Override
111+ protected void onPause () {
112+ super .onPause ();
113+ // 友盟统计
114+ UmengHelper .onPause (this );
115+ }
116+
117+ @ Override
118+ protected void onDestroy () {
119+ super .onDestroy ();
120+ if (mButterKnife != null ) mButterKnife .unbind ();
121+ }
122+
123+ /**
124+ * 显示一个吐司
125+ */
126+ public void toast (CharSequence s ) {
127+ ToastUtils .show (s );
128+ }
133129}
0 commit comments