Skip to content

Commit 70d9f38

Browse files
home page;immersionBar
1 parent 774c110 commit 70d9f38

File tree

21 files changed

+2656
-9
lines changed

21 files changed

+2656
-9
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@
6868
android:launchMode="singleTask"
6969
android:theme="@style/AppTheme.NoActionBar.AppBaseThemeMain"
7070
android:windowSoftInputMode="stateHidden|adjustPan"/>
71+
<activity android:name=".mvp.ui.activity.HomeActivity"
72+
android:launchMode="singleTask"
73+
android:windowSoftInputMode="stateAlwaysHidden|adjustPan"/>
7174
</application>
7275

7376
</manifest>

app/src/main/java/com/e_at/super_order/http/ApiCallBack.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
import android.app.Activity;
44
import android.content.Intent;
55

6+
import com.e_at.eatlibrary.utils.ToastUtil;
67
import com.e_at.super_order.application.OrderApplication;
8+
import com.e_at.super_order.mvp.ui.activity.HomeActivity;
79
import com.e_at.super_order.mvp.ui.activity.LoginActivity;
8-
import com.e_at.super_order.mvp.ui.activity.MainActivity;
9-
import com.e_at.eatlibrary.utils.ToastUtil;
1010

1111
/**
1212
* ApiCallBack
@@ -30,14 +30,14 @@ public void onBadToken() {
3030
//无效token
3131
Activity curActivity = OrderApplication.getInstance().curActivity;
3232
ToastUtil.showToast(curActivity, "登录超时,请重新登录");
33-
if (!(curActivity instanceof MainActivity)) {
33+
if (!(curActivity instanceof HomeActivity)) {
3434
if (!(curActivity instanceof LoginActivity)) {
3535

3636
Intent intent = new Intent(curActivity, LoginActivity.class);
3737
curActivity.startActivity(intent);
3838
curActivity.finish();
3939
} else {
40-
Intent intent = new Intent(curActivity, MainActivity.class);
40+
Intent intent = new Intent(curActivity, HomeActivity.class);
4141
intent.putExtra("reLogin", true);
4242
curActivity.startActivity(intent);
4343
}

app/src/main/java/com/e_at/super_order/mvp/ui/activity/ADActivity.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@ public void initView(Bundle savedInstanceState) {
6060

6161
}
6262

63+
@Override
64+
public boolean setImmersive() {
65+
return true;
66+
}
67+
6368
private Handler mHandler = new Handler();
6469
private Runnable mRunnable = new Runnable() {
6570
@Override
@@ -75,7 +80,7 @@ public void run() {
7580

7681
private void jumpOverAuto(long delayMillis) {
7782
final Intent intent = new Intent();
78-
intent.setClass(this, MainActivity.class);
83+
intent.setClass(this, HomeActivity.class);
7984

8085
new Handler().postDelayed(new Runnable() {
8186
@Override

app/src/main/java/com/e_at/super_order/mvp/ui/activity/BaseActivity.java

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,18 @@
1313
import android.view.LayoutInflater;
1414
import android.view.View;
1515
import android.view.ViewGroup;
16+
import android.view.Window;
1617
import android.view.WindowManager;
1718
import android.widget.TextView;
1819

20+
import com.e_at.eatlibrary.immersionbar.ImmersionBar;
1921
import com.e_at.eatlibrary.injection.Ioc;
22+
import com.e_at.eatlibrary.utils.NetworkUtil;
2023
import com.e_at.super_order.R;
2124
import com.e_at.super_order.application.OrderApplication;
2225
import com.e_at.super_order.mvp.presenter.BasePresenter;
2326
import com.e_at.super_order.mvp.view.BaseView;
2427
import com.e_at.super_order.utils.Constants;
25-
import com.e_at.eatlibrary.utils.NetworkUtil;
2628

2729
import java.util.LinkedList;
2830
import java.util.List;
@@ -81,11 +83,51 @@ private void init(Bundle savedInstanceState) {
8183
this.mContext = this;
8284
initView(savedInstanceState);
8385

86+
boolean isImmersive = setImmersive();
87+
if (isImmersive) {
88+
setFitSystemWindows();
89+
initDefaultImmersionBar();
90+
} else {
91+
initImmersionBar();
92+
}
8493
if (!sActivityList.contains(this)) {
8594
sActivityList.add(this);
8695
}
8796
}
8897

98+
private void setFitSystemWindows() {
99+
ViewGroup mContentView = (ViewGroup) getWindow().findViewById(Window.ID_ANDROID_CONTENT);
100+
View mChildView = mContentView.getChildAt(0);
101+
if (mChildView != null) {
102+
mChildView.setFitsSystemWindows(true);
103+
}
104+
}
105+
106+
/**
107+
* 设置默认样式
108+
*
109+
* @return
110+
* @paramters
111+
*/
112+
private void initDefaultImmersionBar() {
113+
ImmersionBar.with(this).statusBarColor(R.color.color_white)
114+
.statusBarDarkFont(true, 0.2f)
115+
.navigationBarColor(R.color.color_black)
116+
.init();
117+
}
118+
119+
/**
120+
* 根据各页面实际情况自定义
121+
*
122+
* @return
123+
* @paramters
124+
*/
125+
public void initImmersionBar() {
126+
ImmersionBar.with(this).init();
127+
}
128+
129+
public abstract boolean setImmersive();
130+
89131
public abstract int getLayoutId();
90132

91133
public void reload(View view) {
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
package com.e_at.super_order.mvp.ui.activity;
2+
3+
4+
import android.content.Intent;
5+
import android.os.Bundle;
6+
import android.support.v4.app.Fragment;
7+
import android.support.v4.view.ViewPager;
8+
9+
import com.e_at.eatlibrary.injection.From;
10+
import com.e_at.eatlibrary.widget.NonScrollViewPager;
11+
import com.e_at.super_order.R;
12+
import com.e_at.super_order.mvp.ui.adapter.ViewPagerAdapter;
13+
import com.e_at.super_order.mvp.ui.fragment.BaseFragment;
14+
import com.lzy.widget.AlphaIndicator;
15+
16+
import org.jetbrains.annotations.Nullable;
17+
18+
import java.util.ArrayList;
19+
import java.util.List;
20+
21+
/**
22+
* HomeActivity
23+
*
24+
* @author leo
25+
* @desc 主页
26+
* @date 2017/11/15
27+
* @email lei.lu@e-at.com
28+
*/
29+
public class HomeActivity extends BaseActivity implements ViewPager.OnPageChangeListener {
30+
private List<Fragment> mFragments;
31+
private BaseFragment oneFragment;
32+
private BaseFragment twoFragment;
33+
private BaseFragment threeFragment;
34+
private BaseFragment fourFragment;
35+
@From(R.id.viewpager)
36+
private NonScrollViewPager mViewPager;
37+
@From(R.id.alphaIndicator)
38+
private AlphaIndicator mIndicator;
39+
40+
@Override
41+
protected void onNewIntent(Intent intent) {
42+
super.onNewIntent(intent);
43+
}
44+
45+
@Override
46+
protected void onResume() {
47+
super.onResume();
48+
}
49+
50+
@Override
51+
public void showToast(String message) {
52+
53+
}
54+
55+
@Override
56+
public void showDefaultPage(int type) {
57+
58+
}
59+
60+
@Override
61+
public void retry() {
62+
63+
}
64+
65+
@Override
66+
public void showLoading(@Nullable String loadingMessage) {
67+
68+
}
69+
70+
@Override
71+
public void initView(Bundle savedInstanceState) {
72+
initTab();
73+
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
74+
adapter.setFragmentList(mFragments);
75+
mViewPager.setAdapter(adapter);
76+
77+
mIndicator.setViewPager(mViewPager);
78+
mViewPager.addOnPageChangeListener(this);
79+
mViewPager.setOffscreenPageLimit(3);
80+
//不支持滑动
81+
mViewPager.setScroll(false);
82+
}
83+
84+
private void initTab() {
85+
mFragments = new ArrayList<>();
86+
oneFragment = new BaseFragment();
87+
twoFragment = new BaseFragment();
88+
threeFragment = new BaseFragment();
89+
fourFragment = new BaseFragment();
90+
mFragments.add(oneFragment);
91+
mFragments.add(twoFragment);
92+
mFragments.add(threeFragment);
93+
mFragments.add(fourFragment);
94+
}
95+
96+
@Override
97+
public boolean setImmersive() {
98+
return true;
99+
}
100+
101+
@Override
102+
public void initImmersionBar() {
103+
super.initImmersionBar();
104+
}
105+
106+
@Override
107+
public int getLayoutId() {
108+
return R.layout.activity_home;
109+
}
110+
111+
@Override
112+
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
113+
114+
}
115+
116+
@Override
117+
public void onPageSelected(int position) {
118+
119+
}
120+
121+
@Override
122+
public void onPageScrollStateChanged(int state) {
123+
124+
}
125+
}

app/src/main/java/com/e_at/super_order/mvp/ui/activity/LoginActivity.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,11 @@ public void initView(Bundle savedInstanceState) {
7373

7474
}
7575

76+
@Override
77+
public boolean setImmersive() {
78+
return false;
79+
}
80+
7681
@Override
7782
protected void onResume() {
7883
isNeedShowDefault = false;
@@ -208,7 +213,7 @@ public void loginSuccess(LoginEntity loginEntity) {
208213
showToast("登录成功");
209214
saveUserInfo(loginEntity);
210215
//todo
211-
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
216+
Intent intent = new Intent(LoginActivity.this, HomeActivity.class);
212217
if (needLoginType > 0) {
213218
intent.putExtra(Constants.STR_NEED_LOGIN_TYPE, needLoginType);
214219
startActivity(intent);

app/src/main/java/com/e_at/super_order/mvp/ui/activity/SplashActivity.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ public void initView(Bundle savedInstanceState) {
5656
mSplashPresenter = new SplashPresenterImpl(this);
5757
}
5858

59+
@Override
60+
public boolean setImmersive() {
61+
return true;
62+
}
63+
5964
@Override
6065
protected void onResume() {
6166
isNeedShowDefault = false;
@@ -117,7 +122,7 @@ public void jumpOverAuto(int delay) {
117122
mIntent.putExtra("imgPath", mAdEntity.adImgPath);
118123
mIntent.putExtra("duration", mAdEntity.adDuration);
119124
} else {
120-
mIntent.setClass(mContext, MainActivity.class);
125+
mIntent.setClass(mContext, HomeActivity.class);
121126
}
122127
mHandler.postDelayed(mRunnable, delay);
123128
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.e_at.super_order.mvp.ui.adapter;
2+
3+
import android.support.v4.app.Fragment;
4+
import android.support.v4.app.FragmentManager;
5+
import android.support.v4.app.FragmentPagerAdapter;
6+
7+
import java.util.List;
8+
9+
10+
public class ViewPagerAdapter extends FragmentPagerAdapter {
11+
private List<Fragment> mFragmentList;
12+
13+
public ViewPagerAdapter(FragmentManager fm) {
14+
super(fm);
15+
}
16+
17+
public void setFragmentList(List<Fragment> fragmentList) {
18+
this.mFragmentList = fragmentList;
19+
}
20+
21+
@Override
22+
public Fragment getItem(int position) {
23+
return this.mFragmentList.get(position);
24+
}
25+
26+
@Override
27+
public int getCount() {
28+
return mFragmentList.size();
29+
}
30+
}

app/src/main/java/com/e_at/super_order/mvp/ui/fragment/BaseFrament.java renamed to app/src/main/java/com/e_at/super_order/mvp/ui/fragment/BaseFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
import android.support.v4.app.Fragment;
44

55

6-
public class BaseFrament extends Fragment {
6+
public class BaseFragment extends Fragment {
77
}

0 commit comments

Comments
 (0)