diff --git a/app/build.gradle b/app/build.gradle
index df78bb9..25a325f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -60,4 +60,10 @@
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.5.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
+ //WebView
+ implementation 'com.just.agentweb:agentweb-androidx:4.1.4'
+ //沉浸式状态栏。基础依赖包,必须要依赖
+ implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
+ //fragment快速实现
+ implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
}
diff --git a/app/build.gradle b/app/build.gradle
index df78bb9..25a325f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -60,4 +60,10 @@
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.5.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
+ //WebView
+ implementation 'com.just.agentweb:agentweb-androidx:4.1.4'
+ //沉浸式状态栏。基础依赖包,必须要依赖
+ implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
+ //fragment快速实现
+ implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3641d30..9c88595 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
@@ -33,6 +34,7 @@
+
+
@@ -33,6 +34,7 @@
+
= 3) {//当栈里有3张bitmap之后才开始识别
+ if (bitmapStack.size() >= 1) {//当栈里有1张bitmap之后才开始识别
Bitmap bitmap = bitmapStack.pop();
Intent intent = new Intent();
intent.putExtra("imageToBase64", ImageHelper.imageToBase64(bitmap));
diff --git a/app/build.gradle b/app/build.gradle
index df78bb9..25a325f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -60,4 +60,10 @@
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.5.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
+ //WebView
+ implementation 'com.just.agentweb:agentweb-androidx:4.1.4'
+ //沉浸式状态栏。基础依赖包,必须要依赖
+ implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
+ //fragment快速实现
+ implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3641d30..9c88595 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
@@ -33,6 +34,7 @@
+
= 3) {//当栈里有3张bitmap之后才开始识别
+ if (bitmapStack.size() >= 1) {//当栈里有1张bitmap之后才开始识别
Bitmap bitmap = bitmapStack.pop();
Intent intent = new Intent();
intent.putExtra("imageToBase64", ImageHelper.imageToBase64(bitmap));
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
index f8ef517..d0eefe5 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
@@ -3,6 +3,7 @@
import android.view.MenuItem;
import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
@@ -11,8 +12,9 @@
import com.casic.birmm.hxrq.base.DoubleClickExitActivity;
import com.casic.birmm.hxrq.ui.fragment.HomePageFragment;
import com.casic.birmm.hxrq.ui.fragment.MinePageFragment;
+import com.casic.birmm.hxrq.utils.StatusBarColorUtil;
import com.google.android.material.bottomnavigation.BottomNavigationView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.gyf.immersionbar.ImmersionBar;
import java.util.ArrayList;
import java.util.List;
@@ -35,8 +37,8 @@
@Override
protected void setupTopBarLayout() {
- //设置状态栏黑色字体图标
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.homeBackColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
}
@Override
diff --git a/app/build.gradle b/app/build.gradle
index df78bb9..25a325f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -60,4 +60,10 @@
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.5.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
+ //WebView
+ implementation 'com.just.agentweb:agentweb-androidx:4.1.4'
+ //沉浸式状态栏。基础依赖包,必须要依赖
+ implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
+ //fragment快速实现
+ implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3641d30..9c88595 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
@@ -33,6 +34,7 @@
+
= 3) {//当栈里有3张bitmap之后才开始识别
+ if (bitmapStack.size() >= 1) {//当栈里有1张bitmap之后才开始识别
Bitmap bitmap = bitmapStack.pop();
Intent intent = new Intent();
intent.putExtra("imageToBase64", ImageHelper.imageToBase64(bitmap));
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
index f8ef517..d0eefe5 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
@@ -3,6 +3,7 @@
import android.view.MenuItem;
import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
@@ -11,8 +12,9 @@
import com.casic.birmm.hxrq.base.DoubleClickExitActivity;
import com.casic.birmm.hxrq.ui.fragment.HomePageFragment;
import com.casic.birmm.hxrq.ui.fragment.MinePageFragment;
+import com.casic.birmm.hxrq.utils.StatusBarColorUtil;
import com.google.android.material.bottomnavigation.BottomNavigationView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.gyf.immersionbar.ImmersionBar;
import java.util.ArrayList;
import java.util.List;
@@ -35,8 +37,8 @@
@Override
protected void setupTopBarLayout() {
- //设置状态栏黑色字体图标
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.homeBackColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
}
@Override
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
new file mode 100644
index 0000000..46db0a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
@@ -0,0 +1,78 @@
+package com.casic.birmm.hxrq.ui;
+
+import android.view.View;
+import android.widget.LinearLayout;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.birmm.hxrq.R;
+import com.casic.birmm.hxrq.base.BaseActivity;
+import com.casic.birmm.hxrq.utils.HttpConfig;
+import com.casic.birmm.hxrq.utils.TokenHelper;
+import com.just.agentweb.AgentWeb;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+
+public class WebViewActivity extends BaseActivity {
+
+ private static final String TAG = "WebViewActivity";
+ @BindView(R.id.parentView)
+ LinearLayout parentView;
+ @BindView(R.id.webTopLayout)
+ QMUITopBarLayout webTopLayout;
+ private AgentWeb mAgentWeb;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_web;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ String webTitle = getIntent().getStringExtra("webTitle");
+ webTopLayout.setTitle(webTitle).setTextColor(ContextCompat.getColor(this, R.color.white));
+ webTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ webTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ String params = "?token=" + TokenHelper.getToken() + "&url=" + getIntent().getStringExtra("url");
+ mAgentWeb = AgentWeb.with(this)
+ .setAgentWebParent(parentView, new LinearLayout.LayoutParams(-1, -1))
+ .useDefaultIndicator()
+ .createAgentWeb()
+ .ready()
+ .go(HttpConfig.STATIC_IP + params);
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @Override
+ protected void onPause() {
+ mAgentWeb.getWebLifeCycle().onPause();
+ super.onPause();
+
+ }
+
+ @Override
+ protected void onResume() {
+ mAgentWeb.getWebLifeCycle().onResume();
+ super.onResume();
+ }
+
+ @Override
+ protected void onDestroy() {
+ mAgentWeb.getWebLifeCycle().onDestroy();
+ super.onDestroy();
+ }
+}
diff --git a/app/build.gradle b/app/build.gradle
index df78bb9..25a325f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -60,4 +60,10 @@
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.5.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
+ //WebView
+ implementation 'com.just.agentweb:agentweb-androidx:4.1.4'
+ //沉浸式状态栏。基础依赖包,必须要依赖
+ implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
+ //fragment快速实现
+ implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3641d30..9c88595 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
@@ -33,6 +34,7 @@
+
= 3) {//当栈里有3张bitmap之后才开始识别
+ if (bitmapStack.size() >= 1) {//当栈里有1张bitmap之后才开始识别
Bitmap bitmap = bitmapStack.pop();
Intent intent = new Intent();
intent.putExtra("imageToBase64", ImageHelper.imageToBase64(bitmap));
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
index f8ef517..d0eefe5 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
@@ -3,6 +3,7 @@
import android.view.MenuItem;
import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
@@ -11,8 +12,9 @@
import com.casic.birmm.hxrq.base.DoubleClickExitActivity;
import com.casic.birmm.hxrq.ui.fragment.HomePageFragment;
import com.casic.birmm.hxrq.ui.fragment.MinePageFragment;
+import com.casic.birmm.hxrq.utils.StatusBarColorUtil;
import com.google.android.material.bottomnavigation.BottomNavigationView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.gyf.immersionbar.ImmersionBar;
import java.util.ArrayList;
import java.util.List;
@@ -35,8 +37,8 @@
@Override
protected void setupTopBarLayout() {
- //设置状态栏黑色字体图标
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.homeBackColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
}
@Override
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
new file mode 100644
index 0000000..46db0a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
@@ -0,0 +1,78 @@
+package com.casic.birmm.hxrq.ui;
+
+import android.view.View;
+import android.widget.LinearLayout;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.birmm.hxrq.R;
+import com.casic.birmm.hxrq.base.BaseActivity;
+import com.casic.birmm.hxrq.utils.HttpConfig;
+import com.casic.birmm.hxrq.utils.TokenHelper;
+import com.just.agentweb.AgentWeb;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+
+public class WebViewActivity extends BaseActivity {
+
+ private static final String TAG = "WebViewActivity";
+ @BindView(R.id.parentView)
+ LinearLayout parentView;
+ @BindView(R.id.webTopLayout)
+ QMUITopBarLayout webTopLayout;
+ private AgentWeb mAgentWeb;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_web;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ String webTitle = getIntent().getStringExtra("webTitle");
+ webTopLayout.setTitle(webTitle).setTextColor(ContextCompat.getColor(this, R.color.white));
+ webTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ webTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ String params = "?token=" + TokenHelper.getToken() + "&url=" + getIntent().getStringExtra("url");
+ mAgentWeb = AgentWeb.with(this)
+ .setAgentWebParent(parentView, new LinearLayout.LayoutParams(-1, -1))
+ .useDefaultIndicator()
+ .createAgentWeb()
+ .ready()
+ .go(HttpConfig.STATIC_IP + params);
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @Override
+ protected void onPause() {
+ mAgentWeb.getWebLifeCycle().onPause();
+ super.onPause();
+
+ }
+
+ @Override
+ protected void onResume() {
+ mAgentWeb.getWebLifeCycle().onResume();
+ super.onResume();
+ }
+
+ @Override
+ protected void onDestroy() {
+ mAgentWeb.getWebLifeCycle().onDestroy();
+ super.onDestroy();
+ }
+}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
index 6323a62..0095c96 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
@@ -1,13 +1,12 @@
package com.casic.birmm.hxrq.ui.fragment;
import android.content.Context;
+import android.content.Intent;
import android.graphics.Color;
import android.text.TextUtils;
-import android.util.Log;
import android.view.View;
import android.widget.ImageView;
-import androidx.core.content.ContextCompat;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -21,8 +20,8 @@
import com.casic.birmm.hxrq.mvp.presenter.QrCodePresenterImpl;
import com.casic.birmm.hxrq.mvp.view.IHomePageView;
import com.casic.birmm.hxrq.mvp.view.IQrCodeDataView;
+import com.casic.birmm.hxrq.ui.WebViewActivity;
import com.casic.birmm.hxrq.utils.ToastHelper;
-import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import java.util.ArrayList;
import java.util.List;
@@ -39,9 +38,9 @@
public class HomePageFragment extends BaseFragment implements IHomePageView, IQrCodeDataView {
private static final String TAG = "HomePageFragment";
- @BindView(R.id.homeTopLayout)
- QMUITopBarLayout homeTopLayout;
+ @BindView(R.id.scannerView)
+ ImageView scannerView;
@BindView(R.id.userIconView)
ImageView userIconView;
@BindView(R.id.homeRecyclerView)
@@ -62,9 +61,7 @@
protected void setupTopBarLayout() {
context = getContext();
activity = getActivity();
- homeTopLayout.setTitle("华新燃气").setTextColor(ContextCompat.getColor(context, R.color.white));
- homeTopLayout.setBackgroundColor(ContextCompat.getColor(context, R.color.homeBackColor));
- homeTopLayout.addRightImageButton(R.drawable.ic_scanning, 1).setOnClickListener(new View.OnClickListener() {
+ scannerView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startScannerLogin();
@@ -82,7 +79,8 @@
@Override
protected void initEvent() {
- homePagePresenter.onReadyRetrofitRequest("02");
+// homePagePresenter.onReadyRetrofitRequest("02");//Test
+ homePagePresenter.onReadyRetrofitRequest("05");
}
private void startScannerLogin() {
@@ -133,12 +131,16 @@
adapter.setOnGridItemClickListener(new HomeRecycleAdapter.OnGridItemClickListener() {
@Override
public void onClick(int position) {
- String url = menusBeans.get(position).getUrl();
+ HomePageBean.DataBean.MenusBean menusBean = menusBeans.get(position);
+ String url = menusBean.getUrl();
if (!TextUtils.isEmpty(url)) {
- //TODO 跳转WebView加载H5
- Log.d(TAG, "onClick: " + url);
+ //打开内网WebView,需要单点登录,加载H5
+ Intent intent = new Intent(context, WebViewActivity.class);
+ intent.putExtra("webTitle", menusBean.getName());
+ intent.putExtra("url", url);
+ startActivity(intent);
} else {
- ToastHelper.showToast("", ToastHelper.WARING);
+ ToastHelper.showToast("地址有误,无法查看!", ToastHelper.WARING);
}
}
});
@@ -164,5 +166,8 @@
if (qrCodePresenter != null) {
qrCodePresenter.disposeRetrofitRequest();
}
+ if (homePagePresenter != null) {
+ homePagePresenter.disposeRetrofitRequest();
+ }
}
}
diff --git a/app/build.gradle b/app/build.gradle
index df78bb9..25a325f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -60,4 +60,10 @@
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.5.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
+ //WebView
+ implementation 'com.just.agentweb:agentweb-androidx:4.1.4'
+ //沉浸式状态栏。基础依赖包,必须要依赖
+ implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
+ //fragment快速实现
+ implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3641d30..9c88595 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
@@ -33,6 +34,7 @@
+
= 3) {//当栈里有3张bitmap之后才开始识别
+ if (bitmapStack.size() >= 1) {//当栈里有1张bitmap之后才开始识别
Bitmap bitmap = bitmapStack.pop();
Intent intent = new Intent();
intent.putExtra("imageToBase64", ImageHelper.imageToBase64(bitmap));
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
index f8ef517..d0eefe5 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
@@ -3,6 +3,7 @@
import android.view.MenuItem;
import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
@@ -11,8 +12,9 @@
import com.casic.birmm.hxrq.base.DoubleClickExitActivity;
import com.casic.birmm.hxrq.ui.fragment.HomePageFragment;
import com.casic.birmm.hxrq.ui.fragment.MinePageFragment;
+import com.casic.birmm.hxrq.utils.StatusBarColorUtil;
import com.google.android.material.bottomnavigation.BottomNavigationView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.gyf.immersionbar.ImmersionBar;
import java.util.ArrayList;
import java.util.List;
@@ -35,8 +37,8 @@
@Override
protected void setupTopBarLayout() {
- //设置状态栏黑色字体图标
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.homeBackColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
}
@Override
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
new file mode 100644
index 0000000..46db0a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
@@ -0,0 +1,78 @@
+package com.casic.birmm.hxrq.ui;
+
+import android.view.View;
+import android.widget.LinearLayout;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.birmm.hxrq.R;
+import com.casic.birmm.hxrq.base.BaseActivity;
+import com.casic.birmm.hxrq.utils.HttpConfig;
+import com.casic.birmm.hxrq.utils.TokenHelper;
+import com.just.agentweb.AgentWeb;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+
+public class WebViewActivity extends BaseActivity {
+
+ private static final String TAG = "WebViewActivity";
+ @BindView(R.id.parentView)
+ LinearLayout parentView;
+ @BindView(R.id.webTopLayout)
+ QMUITopBarLayout webTopLayout;
+ private AgentWeb mAgentWeb;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_web;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ String webTitle = getIntent().getStringExtra("webTitle");
+ webTopLayout.setTitle(webTitle).setTextColor(ContextCompat.getColor(this, R.color.white));
+ webTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ webTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ String params = "?token=" + TokenHelper.getToken() + "&url=" + getIntent().getStringExtra("url");
+ mAgentWeb = AgentWeb.with(this)
+ .setAgentWebParent(parentView, new LinearLayout.LayoutParams(-1, -1))
+ .useDefaultIndicator()
+ .createAgentWeb()
+ .ready()
+ .go(HttpConfig.STATIC_IP + params);
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @Override
+ protected void onPause() {
+ mAgentWeb.getWebLifeCycle().onPause();
+ super.onPause();
+
+ }
+
+ @Override
+ protected void onResume() {
+ mAgentWeb.getWebLifeCycle().onResume();
+ super.onResume();
+ }
+
+ @Override
+ protected void onDestroy() {
+ mAgentWeb.getWebLifeCycle().onDestroy();
+ super.onDestroy();
+ }
+}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
index 6323a62..0095c96 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
@@ -1,13 +1,12 @@
package com.casic.birmm.hxrq.ui.fragment;
import android.content.Context;
+import android.content.Intent;
import android.graphics.Color;
import android.text.TextUtils;
-import android.util.Log;
import android.view.View;
import android.widget.ImageView;
-import androidx.core.content.ContextCompat;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -21,8 +20,8 @@
import com.casic.birmm.hxrq.mvp.presenter.QrCodePresenterImpl;
import com.casic.birmm.hxrq.mvp.view.IHomePageView;
import com.casic.birmm.hxrq.mvp.view.IQrCodeDataView;
+import com.casic.birmm.hxrq.ui.WebViewActivity;
import com.casic.birmm.hxrq.utils.ToastHelper;
-import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import java.util.ArrayList;
import java.util.List;
@@ -39,9 +38,9 @@
public class HomePageFragment extends BaseFragment implements IHomePageView, IQrCodeDataView {
private static final String TAG = "HomePageFragment";
- @BindView(R.id.homeTopLayout)
- QMUITopBarLayout homeTopLayout;
+ @BindView(R.id.scannerView)
+ ImageView scannerView;
@BindView(R.id.userIconView)
ImageView userIconView;
@BindView(R.id.homeRecyclerView)
@@ -62,9 +61,7 @@
protected void setupTopBarLayout() {
context = getContext();
activity = getActivity();
- homeTopLayout.setTitle("华新燃气").setTextColor(ContextCompat.getColor(context, R.color.white));
- homeTopLayout.setBackgroundColor(ContextCompat.getColor(context, R.color.homeBackColor));
- homeTopLayout.addRightImageButton(R.drawable.ic_scanning, 1).setOnClickListener(new View.OnClickListener() {
+ scannerView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startScannerLogin();
@@ -82,7 +79,8 @@
@Override
protected void initEvent() {
- homePagePresenter.onReadyRetrofitRequest("02");
+// homePagePresenter.onReadyRetrofitRequest("02");//Test
+ homePagePresenter.onReadyRetrofitRequest("05");
}
private void startScannerLogin() {
@@ -133,12 +131,16 @@
adapter.setOnGridItemClickListener(new HomeRecycleAdapter.OnGridItemClickListener() {
@Override
public void onClick(int position) {
- String url = menusBeans.get(position).getUrl();
+ HomePageBean.DataBean.MenusBean menusBean = menusBeans.get(position);
+ String url = menusBean.getUrl();
if (!TextUtils.isEmpty(url)) {
- //TODO 跳转WebView加载H5
- Log.d(TAG, "onClick: " + url);
+ //打开内网WebView,需要单点登录,加载H5
+ Intent intent = new Intent(context, WebViewActivity.class);
+ intent.putExtra("webTitle", menusBean.getName());
+ intent.putExtra("url", url);
+ startActivity(intent);
} else {
- ToastHelper.showToast("", ToastHelper.WARING);
+ ToastHelper.showToast("地址有误,无法查看!", ToastHelper.WARING);
}
}
});
@@ -164,5 +166,8 @@
if (qrCodePresenter != null) {
qrCodePresenter.disposeRetrofitRequest();
}
+ if (homePagePresenter != null) {
+ homePagePresenter.disposeRetrofitRequest();
+ }
}
}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
index 6ef5fe5..dd73d70 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
@@ -2,4 +2,5 @@
public class HttpConfig {
public static final long HTTP_TIMEOUT = 30L;
+ public static final String STATIC_IP = "http://172.26.2.128:9001/sso/integrationConfig/login";
}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index df78bb9..25a325f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -60,4 +60,10 @@
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.5.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
+ //WebView
+ implementation 'com.just.agentweb:agentweb-androidx:4.1.4'
+ //沉浸式状态栏。基础依赖包,必须要依赖
+ implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
+ //fragment快速实现
+ implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3641d30..9c88595 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
@@ -33,6 +34,7 @@
+
= 3) {//当栈里有3张bitmap之后才开始识别
+ if (bitmapStack.size() >= 1) {//当栈里有1张bitmap之后才开始识别
Bitmap bitmap = bitmapStack.pop();
Intent intent = new Intent();
intent.putExtra("imageToBase64", ImageHelper.imageToBase64(bitmap));
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
index f8ef517..d0eefe5 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
@@ -3,6 +3,7 @@
import android.view.MenuItem;
import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
@@ -11,8 +12,9 @@
import com.casic.birmm.hxrq.base.DoubleClickExitActivity;
import com.casic.birmm.hxrq.ui.fragment.HomePageFragment;
import com.casic.birmm.hxrq.ui.fragment.MinePageFragment;
+import com.casic.birmm.hxrq.utils.StatusBarColorUtil;
import com.google.android.material.bottomnavigation.BottomNavigationView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.gyf.immersionbar.ImmersionBar;
import java.util.ArrayList;
import java.util.List;
@@ -35,8 +37,8 @@
@Override
protected void setupTopBarLayout() {
- //设置状态栏黑色字体图标
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.homeBackColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
}
@Override
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
new file mode 100644
index 0000000..46db0a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
@@ -0,0 +1,78 @@
+package com.casic.birmm.hxrq.ui;
+
+import android.view.View;
+import android.widget.LinearLayout;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.birmm.hxrq.R;
+import com.casic.birmm.hxrq.base.BaseActivity;
+import com.casic.birmm.hxrq.utils.HttpConfig;
+import com.casic.birmm.hxrq.utils.TokenHelper;
+import com.just.agentweb.AgentWeb;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+
+public class WebViewActivity extends BaseActivity {
+
+ private static final String TAG = "WebViewActivity";
+ @BindView(R.id.parentView)
+ LinearLayout parentView;
+ @BindView(R.id.webTopLayout)
+ QMUITopBarLayout webTopLayout;
+ private AgentWeb mAgentWeb;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_web;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ String webTitle = getIntent().getStringExtra("webTitle");
+ webTopLayout.setTitle(webTitle).setTextColor(ContextCompat.getColor(this, R.color.white));
+ webTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ webTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ String params = "?token=" + TokenHelper.getToken() + "&url=" + getIntent().getStringExtra("url");
+ mAgentWeb = AgentWeb.with(this)
+ .setAgentWebParent(parentView, new LinearLayout.LayoutParams(-1, -1))
+ .useDefaultIndicator()
+ .createAgentWeb()
+ .ready()
+ .go(HttpConfig.STATIC_IP + params);
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @Override
+ protected void onPause() {
+ mAgentWeb.getWebLifeCycle().onPause();
+ super.onPause();
+
+ }
+
+ @Override
+ protected void onResume() {
+ mAgentWeb.getWebLifeCycle().onResume();
+ super.onResume();
+ }
+
+ @Override
+ protected void onDestroy() {
+ mAgentWeb.getWebLifeCycle().onDestroy();
+ super.onDestroy();
+ }
+}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
index 6323a62..0095c96 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
@@ -1,13 +1,12 @@
package com.casic.birmm.hxrq.ui.fragment;
import android.content.Context;
+import android.content.Intent;
import android.graphics.Color;
import android.text.TextUtils;
-import android.util.Log;
import android.view.View;
import android.widget.ImageView;
-import androidx.core.content.ContextCompat;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -21,8 +20,8 @@
import com.casic.birmm.hxrq.mvp.presenter.QrCodePresenterImpl;
import com.casic.birmm.hxrq.mvp.view.IHomePageView;
import com.casic.birmm.hxrq.mvp.view.IQrCodeDataView;
+import com.casic.birmm.hxrq.ui.WebViewActivity;
import com.casic.birmm.hxrq.utils.ToastHelper;
-import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import java.util.ArrayList;
import java.util.List;
@@ -39,9 +38,9 @@
public class HomePageFragment extends BaseFragment implements IHomePageView, IQrCodeDataView {
private static final String TAG = "HomePageFragment";
- @BindView(R.id.homeTopLayout)
- QMUITopBarLayout homeTopLayout;
+ @BindView(R.id.scannerView)
+ ImageView scannerView;
@BindView(R.id.userIconView)
ImageView userIconView;
@BindView(R.id.homeRecyclerView)
@@ -62,9 +61,7 @@
protected void setupTopBarLayout() {
context = getContext();
activity = getActivity();
- homeTopLayout.setTitle("华新燃气").setTextColor(ContextCompat.getColor(context, R.color.white));
- homeTopLayout.setBackgroundColor(ContextCompat.getColor(context, R.color.homeBackColor));
- homeTopLayout.addRightImageButton(R.drawable.ic_scanning, 1).setOnClickListener(new View.OnClickListener() {
+ scannerView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startScannerLogin();
@@ -82,7 +79,8 @@
@Override
protected void initEvent() {
- homePagePresenter.onReadyRetrofitRequest("02");
+// homePagePresenter.onReadyRetrofitRequest("02");//Test
+ homePagePresenter.onReadyRetrofitRequest("05");
}
private void startScannerLogin() {
@@ -133,12 +131,16 @@
adapter.setOnGridItemClickListener(new HomeRecycleAdapter.OnGridItemClickListener() {
@Override
public void onClick(int position) {
- String url = menusBeans.get(position).getUrl();
+ HomePageBean.DataBean.MenusBean menusBean = menusBeans.get(position);
+ String url = menusBean.getUrl();
if (!TextUtils.isEmpty(url)) {
- //TODO 跳转WebView加载H5
- Log.d(TAG, "onClick: " + url);
+ //打开内网WebView,需要单点登录,加载H5
+ Intent intent = new Intent(context, WebViewActivity.class);
+ intent.putExtra("webTitle", menusBean.getName());
+ intent.putExtra("url", url);
+ startActivity(intent);
} else {
- ToastHelper.showToast("", ToastHelper.WARING);
+ ToastHelper.showToast("地址有误,无法查看!", ToastHelper.WARING);
}
}
});
@@ -164,5 +166,8 @@
if (qrCodePresenter != null) {
qrCodePresenter.disposeRetrofitRequest();
}
+ if (homePagePresenter != null) {
+ homePagePresenter.disposeRetrofitRequest();
+ }
}
}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
index 6ef5fe5..dd73d70 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
@@ -2,4 +2,5 @@
public class HttpConfig {
public static final long HTTP_TIMEOUT = 30L;
+ public static final String STATIC_IP = "http://172.26.2.128:9001/sso/integrationConfig/login";
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java b/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java
new file mode 100644
index 0000000..9e4cb48
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java
@@ -0,0 +1,43 @@
+package com.casic.birmm.hxrq.utils;
+
+import android.app.Activity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.LinearLayout;
+
+public class StatusBarColorUtil {
+ public static void setColor(Activity activity, int color) {
+ //限制android系统的版本
+ // 设置状态栏透明
+ activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+ // 生成一个状态栏大小的矩形
+ View statusView = createStatusView(activity, color);
+ // 添加 statusView 到布局中
+ ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
+ decorView.addView(statusView);
+ // 设置根布局的参数
+ ViewGroup rootView = (ViewGroup) ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0);
+ rootView.setFitsSystemWindows(true);
+ rootView.setClipToPadding(true);
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private static View createStatusView(Activity activity, int color) {
+ // 获得状态栏高度
+ int resourceId = activity.getResources().getIdentifier("status_bar_height", "dimen", "android");
+ int statusBarHeight = activity.getResources().getDimensionPixelSize(resourceId);
+ // 绘制一个和状态栏一样高的矩形
+ View statusView = new View(activity);
+ LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight);
+ statusView.setLayoutParams(params);
+ statusView.setBackgroundColor(color);
+ return statusView;
+ }
+}
diff --git a/app/build.gradle b/app/build.gradle
index df78bb9..25a325f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -60,4 +60,10 @@
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.5.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
+ //WebView
+ implementation 'com.just.agentweb:agentweb-androidx:4.1.4'
+ //沉浸式状态栏。基础依赖包,必须要依赖
+ implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
+ //fragment快速实现
+ implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3641d30..9c88595 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
@@ -33,6 +34,7 @@
+
= 3) {//当栈里有3张bitmap之后才开始识别
+ if (bitmapStack.size() >= 1) {//当栈里有1张bitmap之后才开始识别
Bitmap bitmap = bitmapStack.pop();
Intent intent = new Intent();
intent.putExtra("imageToBase64", ImageHelper.imageToBase64(bitmap));
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
index f8ef517..d0eefe5 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
@@ -3,6 +3,7 @@
import android.view.MenuItem;
import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
@@ -11,8 +12,9 @@
import com.casic.birmm.hxrq.base.DoubleClickExitActivity;
import com.casic.birmm.hxrq.ui.fragment.HomePageFragment;
import com.casic.birmm.hxrq.ui.fragment.MinePageFragment;
+import com.casic.birmm.hxrq.utils.StatusBarColorUtil;
import com.google.android.material.bottomnavigation.BottomNavigationView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.gyf.immersionbar.ImmersionBar;
import java.util.ArrayList;
import java.util.List;
@@ -35,8 +37,8 @@
@Override
protected void setupTopBarLayout() {
- //设置状态栏黑色字体图标
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.homeBackColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
}
@Override
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
new file mode 100644
index 0000000..46db0a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
@@ -0,0 +1,78 @@
+package com.casic.birmm.hxrq.ui;
+
+import android.view.View;
+import android.widget.LinearLayout;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.birmm.hxrq.R;
+import com.casic.birmm.hxrq.base.BaseActivity;
+import com.casic.birmm.hxrq.utils.HttpConfig;
+import com.casic.birmm.hxrq.utils.TokenHelper;
+import com.just.agentweb.AgentWeb;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+
+public class WebViewActivity extends BaseActivity {
+
+ private static final String TAG = "WebViewActivity";
+ @BindView(R.id.parentView)
+ LinearLayout parentView;
+ @BindView(R.id.webTopLayout)
+ QMUITopBarLayout webTopLayout;
+ private AgentWeb mAgentWeb;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_web;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ String webTitle = getIntent().getStringExtra("webTitle");
+ webTopLayout.setTitle(webTitle).setTextColor(ContextCompat.getColor(this, R.color.white));
+ webTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ webTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ String params = "?token=" + TokenHelper.getToken() + "&url=" + getIntent().getStringExtra("url");
+ mAgentWeb = AgentWeb.with(this)
+ .setAgentWebParent(parentView, new LinearLayout.LayoutParams(-1, -1))
+ .useDefaultIndicator()
+ .createAgentWeb()
+ .ready()
+ .go(HttpConfig.STATIC_IP + params);
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @Override
+ protected void onPause() {
+ mAgentWeb.getWebLifeCycle().onPause();
+ super.onPause();
+
+ }
+
+ @Override
+ protected void onResume() {
+ mAgentWeb.getWebLifeCycle().onResume();
+ super.onResume();
+ }
+
+ @Override
+ protected void onDestroy() {
+ mAgentWeb.getWebLifeCycle().onDestroy();
+ super.onDestroy();
+ }
+}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
index 6323a62..0095c96 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
@@ -1,13 +1,12 @@
package com.casic.birmm.hxrq.ui.fragment;
import android.content.Context;
+import android.content.Intent;
import android.graphics.Color;
import android.text.TextUtils;
-import android.util.Log;
import android.view.View;
import android.widget.ImageView;
-import androidx.core.content.ContextCompat;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -21,8 +20,8 @@
import com.casic.birmm.hxrq.mvp.presenter.QrCodePresenterImpl;
import com.casic.birmm.hxrq.mvp.view.IHomePageView;
import com.casic.birmm.hxrq.mvp.view.IQrCodeDataView;
+import com.casic.birmm.hxrq.ui.WebViewActivity;
import com.casic.birmm.hxrq.utils.ToastHelper;
-import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import java.util.ArrayList;
import java.util.List;
@@ -39,9 +38,9 @@
public class HomePageFragment extends BaseFragment implements IHomePageView, IQrCodeDataView {
private static final String TAG = "HomePageFragment";
- @BindView(R.id.homeTopLayout)
- QMUITopBarLayout homeTopLayout;
+ @BindView(R.id.scannerView)
+ ImageView scannerView;
@BindView(R.id.userIconView)
ImageView userIconView;
@BindView(R.id.homeRecyclerView)
@@ -62,9 +61,7 @@
protected void setupTopBarLayout() {
context = getContext();
activity = getActivity();
- homeTopLayout.setTitle("华新燃气").setTextColor(ContextCompat.getColor(context, R.color.white));
- homeTopLayout.setBackgroundColor(ContextCompat.getColor(context, R.color.homeBackColor));
- homeTopLayout.addRightImageButton(R.drawable.ic_scanning, 1).setOnClickListener(new View.OnClickListener() {
+ scannerView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startScannerLogin();
@@ -82,7 +79,8 @@
@Override
protected void initEvent() {
- homePagePresenter.onReadyRetrofitRequest("02");
+// homePagePresenter.onReadyRetrofitRequest("02");//Test
+ homePagePresenter.onReadyRetrofitRequest("05");
}
private void startScannerLogin() {
@@ -133,12 +131,16 @@
adapter.setOnGridItemClickListener(new HomeRecycleAdapter.OnGridItemClickListener() {
@Override
public void onClick(int position) {
- String url = menusBeans.get(position).getUrl();
+ HomePageBean.DataBean.MenusBean menusBean = menusBeans.get(position);
+ String url = menusBean.getUrl();
if (!TextUtils.isEmpty(url)) {
- //TODO 跳转WebView加载H5
- Log.d(TAG, "onClick: " + url);
+ //打开内网WebView,需要单点登录,加载H5
+ Intent intent = new Intent(context, WebViewActivity.class);
+ intent.putExtra("webTitle", menusBean.getName());
+ intent.putExtra("url", url);
+ startActivity(intent);
} else {
- ToastHelper.showToast("", ToastHelper.WARING);
+ ToastHelper.showToast("地址有误,无法查看!", ToastHelper.WARING);
}
}
});
@@ -164,5 +166,8 @@
if (qrCodePresenter != null) {
qrCodePresenter.disposeRetrofitRequest();
}
+ if (homePagePresenter != null) {
+ homePagePresenter.disposeRetrofitRequest();
+ }
}
}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
index 6ef5fe5..dd73d70 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
@@ -2,4 +2,5 @@
public class HttpConfig {
public static final long HTTP_TIMEOUT = 30L;
+ public static final String STATIC_IP = "http://172.26.2.128:9001/sso/integrationConfig/login";
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java b/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java
new file mode 100644
index 0000000..9e4cb48
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java
@@ -0,0 +1,43 @@
+package com.casic.birmm.hxrq.utils;
+
+import android.app.Activity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.LinearLayout;
+
+public class StatusBarColorUtil {
+ public static void setColor(Activity activity, int color) {
+ //限制android系统的版本
+ // 设置状态栏透明
+ activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+ // 生成一个状态栏大小的矩形
+ View statusView = createStatusView(activity, color);
+ // 添加 statusView 到布局中
+ ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
+ decorView.addView(statusView);
+ // 设置根布局的参数
+ ViewGroup rootView = (ViewGroup) ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0);
+ rootView.setFitsSystemWindows(true);
+ rootView.setClipToPadding(true);
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private static View createStatusView(Activity activity, int color) {
+ // 获得状态栏高度
+ int resourceId = activity.getResources().getIdentifier("status_bar_height", "dimen", "android");
+ int statusBarHeight = activity.getResources().getDimensionPixelSize(resourceId);
+ // 绘制一个和状态栏一样高的矩形
+ View statusView = new View(activity);
+ LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight);
+ statusView.setLayoutParams(params);
+ statusView.setBackgroundColor(color);
+ return statusView;
+ }
+}
diff --git a/app/src/main/res/drawable/ic_left_white.xml b/app/src/main/res/drawable/ic_left_white.xml
new file mode 100644
index 0000000..5487d77
--- /dev/null
+++ b/app/src/main/res/drawable/ic_left_white.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/build.gradle b/app/build.gradle
index df78bb9..25a325f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -60,4 +60,10 @@
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.5.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
+ //WebView
+ implementation 'com.just.agentweb:agentweb-androidx:4.1.4'
+ //沉浸式状态栏。基础依赖包,必须要依赖
+ implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
+ //fragment快速实现
+ implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3641d30..9c88595 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
@@ -33,6 +34,7 @@
+
= 3) {//当栈里有3张bitmap之后才开始识别
+ if (bitmapStack.size() >= 1) {//当栈里有1张bitmap之后才开始识别
Bitmap bitmap = bitmapStack.pop();
Intent intent = new Intent();
intent.putExtra("imageToBase64", ImageHelper.imageToBase64(bitmap));
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
index f8ef517..d0eefe5 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
@@ -3,6 +3,7 @@
import android.view.MenuItem;
import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
@@ -11,8 +12,9 @@
import com.casic.birmm.hxrq.base.DoubleClickExitActivity;
import com.casic.birmm.hxrq.ui.fragment.HomePageFragment;
import com.casic.birmm.hxrq.ui.fragment.MinePageFragment;
+import com.casic.birmm.hxrq.utils.StatusBarColorUtil;
import com.google.android.material.bottomnavigation.BottomNavigationView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.gyf.immersionbar.ImmersionBar;
import java.util.ArrayList;
import java.util.List;
@@ -35,8 +37,8 @@
@Override
protected void setupTopBarLayout() {
- //设置状态栏黑色字体图标
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.homeBackColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
}
@Override
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
new file mode 100644
index 0000000..46db0a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
@@ -0,0 +1,78 @@
+package com.casic.birmm.hxrq.ui;
+
+import android.view.View;
+import android.widget.LinearLayout;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.birmm.hxrq.R;
+import com.casic.birmm.hxrq.base.BaseActivity;
+import com.casic.birmm.hxrq.utils.HttpConfig;
+import com.casic.birmm.hxrq.utils.TokenHelper;
+import com.just.agentweb.AgentWeb;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+
+public class WebViewActivity extends BaseActivity {
+
+ private static final String TAG = "WebViewActivity";
+ @BindView(R.id.parentView)
+ LinearLayout parentView;
+ @BindView(R.id.webTopLayout)
+ QMUITopBarLayout webTopLayout;
+ private AgentWeb mAgentWeb;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_web;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ String webTitle = getIntent().getStringExtra("webTitle");
+ webTopLayout.setTitle(webTitle).setTextColor(ContextCompat.getColor(this, R.color.white));
+ webTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ webTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ String params = "?token=" + TokenHelper.getToken() + "&url=" + getIntent().getStringExtra("url");
+ mAgentWeb = AgentWeb.with(this)
+ .setAgentWebParent(parentView, new LinearLayout.LayoutParams(-1, -1))
+ .useDefaultIndicator()
+ .createAgentWeb()
+ .ready()
+ .go(HttpConfig.STATIC_IP + params);
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @Override
+ protected void onPause() {
+ mAgentWeb.getWebLifeCycle().onPause();
+ super.onPause();
+
+ }
+
+ @Override
+ protected void onResume() {
+ mAgentWeb.getWebLifeCycle().onResume();
+ super.onResume();
+ }
+
+ @Override
+ protected void onDestroy() {
+ mAgentWeb.getWebLifeCycle().onDestroy();
+ super.onDestroy();
+ }
+}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
index 6323a62..0095c96 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
@@ -1,13 +1,12 @@
package com.casic.birmm.hxrq.ui.fragment;
import android.content.Context;
+import android.content.Intent;
import android.graphics.Color;
import android.text.TextUtils;
-import android.util.Log;
import android.view.View;
import android.widget.ImageView;
-import androidx.core.content.ContextCompat;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -21,8 +20,8 @@
import com.casic.birmm.hxrq.mvp.presenter.QrCodePresenterImpl;
import com.casic.birmm.hxrq.mvp.view.IHomePageView;
import com.casic.birmm.hxrq.mvp.view.IQrCodeDataView;
+import com.casic.birmm.hxrq.ui.WebViewActivity;
import com.casic.birmm.hxrq.utils.ToastHelper;
-import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import java.util.ArrayList;
import java.util.List;
@@ -39,9 +38,9 @@
public class HomePageFragment extends BaseFragment implements IHomePageView, IQrCodeDataView {
private static final String TAG = "HomePageFragment";
- @BindView(R.id.homeTopLayout)
- QMUITopBarLayout homeTopLayout;
+ @BindView(R.id.scannerView)
+ ImageView scannerView;
@BindView(R.id.userIconView)
ImageView userIconView;
@BindView(R.id.homeRecyclerView)
@@ -62,9 +61,7 @@
protected void setupTopBarLayout() {
context = getContext();
activity = getActivity();
- homeTopLayout.setTitle("华新燃气").setTextColor(ContextCompat.getColor(context, R.color.white));
- homeTopLayout.setBackgroundColor(ContextCompat.getColor(context, R.color.homeBackColor));
- homeTopLayout.addRightImageButton(R.drawable.ic_scanning, 1).setOnClickListener(new View.OnClickListener() {
+ scannerView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startScannerLogin();
@@ -82,7 +79,8 @@
@Override
protected void initEvent() {
- homePagePresenter.onReadyRetrofitRequest("02");
+// homePagePresenter.onReadyRetrofitRequest("02");//Test
+ homePagePresenter.onReadyRetrofitRequest("05");
}
private void startScannerLogin() {
@@ -133,12 +131,16 @@
adapter.setOnGridItemClickListener(new HomeRecycleAdapter.OnGridItemClickListener() {
@Override
public void onClick(int position) {
- String url = menusBeans.get(position).getUrl();
+ HomePageBean.DataBean.MenusBean menusBean = menusBeans.get(position);
+ String url = menusBean.getUrl();
if (!TextUtils.isEmpty(url)) {
- //TODO 跳转WebView加载H5
- Log.d(TAG, "onClick: " + url);
+ //打开内网WebView,需要单点登录,加载H5
+ Intent intent = new Intent(context, WebViewActivity.class);
+ intent.putExtra("webTitle", menusBean.getName());
+ intent.putExtra("url", url);
+ startActivity(intent);
} else {
- ToastHelper.showToast("", ToastHelper.WARING);
+ ToastHelper.showToast("地址有误,无法查看!", ToastHelper.WARING);
}
}
});
@@ -164,5 +166,8 @@
if (qrCodePresenter != null) {
qrCodePresenter.disposeRetrofitRequest();
}
+ if (homePagePresenter != null) {
+ homePagePresenter.disposeRetrofitRequest();
+ }
}
}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
index 6ef5fe5..dd73d70 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
@@ -2,4 +2,5 @@
public class HttpConfig {
public static final long HTTP_TIMEOUT = 30L;
+ public static final String STATIC_IP = "http://172.26.2.128:9001/sso/integrationConfig/login";
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java b/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java
new file mode 100644
index 0000000..9e4cb48
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java
@@ -0,0 +1,43 @@
+package com.casic.birmm.hxrq.utils;
+
+import android.app.Activity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.LinearLayout;
+
+public class StatusBarColorUtil {
+ public static void setColor(Activity activity, int color) {
+ //限制android系统的版本
+ // 设置状态栏透明
+ activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+ // 生成一个状态栏大小的矩形
+ View statusView = createStatusView(activity, color);
+ // 添加 statusView 到布局中
+ ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
+ decorView.addView(statusView);
+ // 设置根布局的参数
+ ViewGroup rootView = (ViewGroup) ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0);
+ rootView.setFitsSystemWindows(true);
+ rootView.setClipToPadding(true);
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private static View createStatusView(Activity activity, int color) {
+ // 获得状态栏高度
+ int resourceId = activity.getResources().getIdentifier("status_bar_height", "dimen", "android");
+ int statusBarHeight = activity.getResources().getDimensionPixelSize(resourceId);
+ // 绘制一个和状态栏一样高的矩形
+ View statusView = new View(activity);
+ LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight);
+ statusView.setLayoutParams(params);
+ statusView.setBackgroundColor(color);
+ return statusView;
+ }
+}
diff --git a/app/src/main/res/drawable/ic_left_white.xml b/app/src/main/res/drawable/ic_left_white.xml
new file mode 100644
index 0000000..5487d77
--- /dev/null
+++ b/app/src/main/res/drawable/ic_left_white.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_scanning.xml b/app/src/main/res/drawable/ic_scanning.xml
index d01e93d..6b43572 100644
--- a/app/src/main/res/drawable/ic_scanning.xml
+++ b/app/src/main/res/drawable/ic_scanning.xml
@@ -1,6 +1,6 @@
+
@@ -33,6 +34,7 @@
+
= 3) {//当栈里有3张bitmap之后才开始识别
+ if (bitmapStack.size() >= 1) {//当栈里有1张bitmap之后才开始识别
Bitmap bitmap = bitmapStack.pop();
Intent intent = new Intent();
intent.putExtra("imageToBase64", ImageHelper.imageToBase64(bitmap));
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
index f8ef517..d0eefe5 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
@@ -3,6 +3,7 @@
import android.view.MenuItem;
import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
@@ -11,8 +12,9 @@
import com.casic.birmm.hxrq.base.DoubleClickExitActivity;
import com.casic.birmm.hxrq.ui.fragment.HomePageFragment;
import com.casic.birmm.hxrq.ui.fragment.MinePageFragment;
+import com.casic.birmm.hxrq.utils.StatusBarColorUtil;
import com.google.android.material.bottomnavigation.BottomNavigationView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.gyf.immersionbar.ImmersionBar;
import java.util.ArrayList;
import java.util.List;
@@ -35,8 +37,8 @@
@Override
protected void setupTopBarLayout() {
- //设置状态栏黑色字体图标
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.homeBackColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
}
@Override
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
new file mode 100644
index 0000000..46db0a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
@@ -0,0 +1,78 @@
+package com.casic.birmm.hxrq.ui;
+
+import android.view.View;
+import android.widget.LinearLayout;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.birmm.hxrq.R;
+import com.casic.birmm.hxrq.base.BaseActivity;
+import com.casic.birmm.hxrq.utils.HttpConfig;
+import com.casic.birmm.hxrq.utils.TokenHelper;
+import com.just.agentweb.AgentWeb;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+
+public class WebViewActivity extends BaseActivity {
+
+ private static final String TAG = "WebViewActivity";
+ @BindView(R.id.parentView)
+ LinearLayout parentView;
+ @BindView(R.id.webTopLayout)
+ QMUITopBarLayout webTopLayout;
+ private AgentWeb mAgentWeb;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_web;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ String webTitle = getIntent().getStringExtra("webTitle");
+ webTopLayout.setTitle(webTitle).setTextColor(ContextCompat.getColor(this, R.color.white));
+ webTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ webTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ String params = "?token=" + TokenHelper.getToken() + "&url=" + getIntent().getStringExtra("url");
+ mAgentWeb = AgentWeb.with(this)
+ .setAgentWebParent(parentView, new LinearLayout.LayoutParams(-1, -1))
+ .useDefaultIndicator()
+ .createAgentWeb()
+ .ready()
+ .go(HttpConfig.STATIC_IP + params);
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @Override
+ protected void onPause() {
+ mAgentWeb.getWebLifeCycle().onPause();
+ super.onPause();
+
+ }
+
+ @Override
+ protected void onResume() {
+ mAgentWeb.getWebLifeCycle().onResume();
+ super.onResume();
+ }
+
+ @Override
+ protected void onDestroy() {
+ mAgentWeb.getWebLifeCycle().onDestroy();
+ super.onDestroy();
+ }
+}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
index 6323a62..0095c96 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
@@ -1,13 +1,12 @@
package com.casic.birmm.hxrq.ui.fragment;
import android.content.Context;
+import android.content.Intent;
import android.graphics.Color;
import android.text.TextUtils;
-import android.util.Log;
import android.view.View;
import android.widget.ImageView;
-import androidx.core.content.ContextCompat;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -21,8 +20,8 @@
import com.casic.birmm.hxrq.mvp.presenter.QrCodePresenterImpl;
import com.casic.birmm.hxrq.mvp.view.IHomePageView;
import com.casic.birmm.hxrq.mvp.view.IQrCodeDataView;
+import com.casic.birmm.hxrq.ui.WebViewActivity;
import com.casic.birmm.hxrq.utils.ToastHelper;
-import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import java.util.ArrayList;
import java.util.List;
@@ -39,9 +38,9 @@
public class HomePageFragment extends BaseFragment implements IHomePageView, IQrCodeDataView {
private static final String TAG = "HomePageFragment";
- @BindView(R.id.homeTopLayout)
- QMUITopBarLayout homeTopLayout;
+ @BindView(R.id.scannerView)
+ ImageView scannerView;
@BindView(R.id.userIconView)
ImageView userIconView;
@BindView(R.id.homeRecyclerView)
@@ -62,9 +61,7 @@
protected void setupTopBarLayout() {
context = getContext();
activity = getActivity();
- homeTopLayout.setTitle("华新燃气").setTextColor(ContextCompat.getColor(context, R.color.white));
- homeTopLayout.setBackgroundColor(ContextCompat.getColor(context, R.color.homeBackColor));
- homeTopLayout.addRightImageButton(R.drawable.ic_scanning, 1).setOnClickListener(new View.OnClickListener() {
+ scannerView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startScannerLogin();
@@ -82,7 +79,8 @@
@Override
protected void initEvent() {
- homePagePresenter.onReadyRetrofitRequest("02");
+// homePagePresenter.onReadyRetrofitRequest("02");//Test
+ homePagePresenter.onReadyRetrofitRequest("05");
}
private void startScannerLogin() {
@@ -133,12 +131,16 @@
adapter.setOnGridItemClickListener(new HomeRecycleAdapter.OnGridItemClickListener() {
@Override
public void onClick(int position) {
- String url = menusBeans.get(position).getUrl();
+ HomePageBean.DataBean.MenusBean menusBean = menusBeans.get(position);
+ String url = menusBean.getUrl();
if (!TextUtils.isEmpty(url)) {
- //TODO 跳转WebView加载H5
- Log.d(TAG, "onClick: " + url);
+ //打开内网WebView,需要单点登录,加载H5
+ Intent intent = new Intent(context, WebViewActivity.class);
+ intent.putExtra("webTitle", menusBean.getName());
+ intent.putExtra("url", url);
+ startActivity(intent);
} else {
- ToastHelper.showToast("", ToastHelper.WARING);
+ ToastHelper.showToast("地址有误,无法查看!", ToastHelper.WARING);
}
}
});
@@ -164,5 +166,8 @@
if (qrCodePresenter != null) {
qrCodePresenter.disposeRetrofitRequest();
}
+ if (homePagePresenter != null) {
+ homePagePresenter.disposeRetrofitRequest();
+ }
}
}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
index 6ef5fe5..dd73d70 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
@@ -2,4 +2,5 @@
public class HttpConfig {
public static final long HTTP_TIMEOUT = 30L;
+ public static final String STATIC_IP = "http://172.26.2.128:9001/sso/integrationConfig/login";
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java b/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java
new file mode 100644
index 0000000..9e4cb48
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java
@@ -0,0 +1,43 @@
+package com.casic.birmm.hxrq.utils;
+
+import android.app.Activity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.LinearLayout;
+
+public class StatusBarColorUtil {
+ public static void setColor(Activity activity, int color) {
+ //限制android系统的版本
+ // 设置状态栏透明
+ activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+ // 生成一个状态栏大小的矩形
+ View statusView = createStatusView(activity, color);
+ // 添加 statusView 到布局中
+ ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
+ decorView.addView(statusView);
+ // 设置根布局的参数
+ ViewGroup rootView = (ViewGroup) ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0);
+ rootView.setFitsSystemWindows(true);
+ rootView.setClipToPadding(true);
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private static View createStatusView(Activity activity, int color) {
+ // 获得状态栏高度
+ int resourceId = activity.getResources().getIdentifier("status_bar_height", "dimen", "android");
+ int statusBarHeight = activity.getResources().getDimensionPixelSize(resourceId);
+ // 绘制一个和状态栏一样高的矩形
+ View statusView = new View(activity);
+ LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight);
+ statusView.setLayoutParams(params);
+ statusView.setBackgroundColor(color);
+ return statusView;
+ }
+}
diff --git a/app/src/main/res/drawable/ic_left_white.xml b/app/src/main/res/drawable/ic_left_white.xml
new file mode 100644
index 0000000..5487d77
--- /dev/null
+++ b/app/src/main/res/drawable/ic_left_white.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_scanning.xml b/app/src/main/res/drawable/ic_scanning.xml
index d01e93d..6b43572 100644
--- a/app/src/main/res/drawable/ic_scanning.xml
+++ b/app/src/main/res/drawable/ic_scanning.xml
@@ -1,6 +1,6 @@
+
@@ -33,6 +34,7 @@
+
= 3) {//当栈里有3张bitmap之后才开始识别
+ if (bitmapStack.size() >= 1) {//当栈里有1张bitmap之后才开始识别
Bitmap bitmap = bitmapStack.pop();
Intent intent = new Intent();
intent.putExtra("imageToBase64", ImageHelper.imageToBase64(bitmap));
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
index f8ef517..d0eefe5 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
@@ -3,6 +3,7 @@
import android.view.MenuItem;
import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
@@ -11,8 +12,9 @@
import com.casic.birmm.hxrq.base.DoubleClickExitActivity;
import com.casic.birmm.hxrq.ui.fragment.HomePageFragment;
import com.casic.birmm.hxrq.ui.fragment.MinePageFragment;
+import com.casic.birmm.hxrq.utils.StatusBarColorUtil;
import com.google.android.material.bottomnavigation.BottomNavigationView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.gyf.immersionbar.ImmersionBar;
import java.util.ArrayList;
import java.util.List;
@@ -35,8 +37,8 @@
@Override
protected void setupTopBarLayout() {
- //设置状态栏黑色字体图标
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.homeBackColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
}
@Override
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
new file mode 100644
index 0000000..46db0a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
@@ -0,0 +1,78 @@
+package com.casic.birmm.hxrq.ui;
+
+import android.view.View;
+import android.widget.LinearLayout;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.birmm.hxrq.R;
+import com.casic.birmm.hxrq.base.BaseActivity;
+import com.casic.birmm.hxrq.utils.HttpConfig;
+import com.casic.birmm.hxrq.utils.TokenHelper;
+import com.just.agentweb.AgentWeb;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+
+public class WebViewActivity extends BaseActivity {
+
+ private static final String TAG = "WebViewActivity";
+ @BindView(R.id.parentView)
+ LinearLayout parentView;
+ @BindView(R.id.webTopLayout)
+ QMUITopBarLayout webTopLayout;
+ private AgentWeb mAgentWeb;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_web;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ String webTitle = getIntent().getStringExtra("webTitle");
+ webTopLayout.setTitle(webTitle).setTextColor(ContextCompat.getColor(this, R.color.white));
+ webTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ webTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ String params = "?token=" + TokenHelper.getToken() + "&url=" + getIntent().getStringExtra("url");
+ mAgentWeb = AgentWeb.with(this)
+ .setAgentWebParent(parentView, new LinearLayout.LayoutParams(-1, -1))
+ .useDefaultIndicator()
+ .createAgentWeb()
+ .ready()
+ .go(HttpConfig.STATIC_IP + params);
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @Override
+ protected void onPause() {
+ mAgentWeb.getWebLifeCycle().onPause();
+ super.onPause();
+
+ }
+
+ @Override
+ protected void onResume() {
+ mAgentWeb.getWebLifeCycle().onResume();
+ super.onResume();
+ }
+
+ @Override
+ protected void onDestroy() {
+ mAgentWeb.getWebLifeCycle().onDestroy();
+ super.onDestroy();
+ }
+}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
index 6323a62..0095c96 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
@@ -1,13 +1,12 @@
package com.casic.birmm.hxrq.ui.fragment;
import android.content.Context;
+import android.content.Intent;
import android.graphics.Color;
import android.text.TextUtils;
-import android.util.Log;
import android.view.View;
import android.widget.ImageView;
-import androidx.core.content.ContextCompat;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -21,8 +20,8 @@
import com.casic.birmm.hxrq.mvp.presenter.QrCodePresenterImpl;
import com.casic.birmm.hxrq.mvp.view.IHomePageView;
import com.casic.birmm.hxrq.mvp.view.IQrCodeDataView;
+import com.casic.birmm.hxrq.ui.WebViewActivity;
import com.casic.birmm.hxrq.utils.ToastHelper;
-import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import java.util.ArrayList;
import java.util.List;
@@ -39,9 +38,9 @@
public class HomePageFragment extends BaseFragment implements IHomePageView, IQrCodeDataView {
private static final String TAG = "HomePageFragment";
- @BindView(R.id.homeTopLayout)
- QMUITopBarLayout homeTopLayout;
+ @BindView(R.id.scannerView)
+ ImageView scannerView;
@BindView(R.id.userIconView)
ImageView userIconView;
@BindView(R.id.homeRecyclerView)
@@ -62,9 +61,7 @@
protected void setupTopBarLayout() {
context = getContext();
activity = getActivity();
- homeTopLayout.setTitle("华新燃气").setTextColor(ContextCompat.getColor(context, R.color.white));
- homeTopLayout.setBackgroundColor(ContextCompat.getColor(context, R.color.homeBackColor));
- homeTopLayout.addRightImageButton(R.drawable.ic_scanning, 1).setOnClickListener(new View.OnClickListener() {
+ scannerView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startScannerLogin();
@@ -82,7 +79,8 @@
@Override
protected void initEvent() {
- homePagePresenter.onReadyRetrofitRequest("02");
+// homePagePresenter.onReadyRetrofitRequest("02");//Test
+ homePagePresenter.onReadyRetrofitRequest("05");
}
private void startScannerLogin() {
@@ -133,12 +131,16 @@
adapter.setOnGridItemClickListener(new HomeRecycleAdapter.OnGridItemClickListener() {
@Override
public void onClick(int position) {
- String url = menusBeans.get(position).getUrl();
+ HomePageBean.DataBean.MenusBean menusBean = menusBeans.get(position);
+ String url = menusBean.getUrl();
if (!TextUtils.isEmpty(url)) {
- //TODO 跳转WebView加载H5
- Log.d(TAG, "onClick: " + url);
+ //打开内网WebView,需要单点登录,加载H5
+ Intent intent = new Intent(context, WebViewActivity.class);
+ intent.putExtra("webTitle", menusBean.getName());
+ intent.putExtra("url", url);
+ startActivity(intent);
} else {
- ToastHelper.showToast("", ToastHelper.WARING);
+ ToastHelper.showToast("地址有误,无法查看!", ToastHelper.WARING);
}
}
});
@@ -164,5 +166,8 @@
if (qrCodePresenter != null) {
qrCodePresenter.disposeRetrofitRequest();
}
+ if (homePagePresenter != null) {
+ homePagePresenter.disposeRetrofitRequest();
+ }
}
}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
index 6ef5fe5..dd73d70 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
@@ -2,4 +2,5 @@
public class HttpConfig {
public static final long HTTP_TIMEOUT = 30L;
+ public static final String STATIC_IP = "http://172.26.2.128:9001/sso/integrationConfig/login";
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java b/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java
new file mode 100644
index 0000000..9e4cb48
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java
@@ -0,0 +1,43 @@
+package com.casic.birmm.hxrq.utils;
+
+import android.app.Activity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.LinearLayout;
+
+public class StatusBarColorUtil {
+ public static void setColor(Activity activity, int color) {
+ //限制android系统的版本
+ // 设置状态栏透明
+ activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+ // 生成一个状态栏大小的矩形
+ View statusView = createStatusView(activity, color);
+ // 添加 statusView 到布局中
+ ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
+ decorView.addView(statusView);
+ // 设置根布局的参数
+ ViewGroup rootView = (ViewGroup) ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0);
+ rootView.setFitsSystemWindows(true);
+ rootView.setClipToPadding(true);
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private static View createStatusView(Activity activity, int color) {
+ // 获得状态栏高度
+ int resourceId = activity.getResources().getIdentifier("status_bar_height", "dimen", "android");
+ int statusBarHeight = activity.getResources().getDimensionPixelSize(resourceId);
+ // 绘制一个和状态栏一样高的矩形
+ View statusView = new View(activity);
+ LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight);
+ statusView.setLayoutParams(params);
+ statusView.setBackgroundColor(color);
+ return statusView;
+ }
+}
diff --git a/app/src/main/res/drawable/ic_left_white.xml b/app/src/main/res/drawable/ic_left_white.xml
new file mode 100644
index 0000000..5487d77
--- /dev/null
+++ b/app/src/main/res/drawable/ic_left_white.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_scanning.xml b/app/src/main/res/drawable/ic_scanning.xml
index d01e93d..6b43572 100644
--- a/app/src/main/res/drawable/ic_scanning.xml
+++ b/app/src/main/res/drawable/ic_scanning.xml
@@ -1,6 +1,6 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index df78bb9..25a325f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -60,4 +60,10 @@
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.5.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
+ //WebView
+ implementation 'com.just.agentweb:agentweb-androidx:4.1.4'
+ //沉浸式状态栏。基础依赖包,必须要依赖
+ implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
+ //fragment快速实现
+ implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3641d30..9c88595 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
@@ -33,6 +34,7 @@
+
= 3) {//当栈里有3张bitmap之后才开始识别
+ if (bitmapStack.size() >= 1) {//当栈里有1张bitmap之后才开始识别
Bitmap bitmap = bitmapStack.pop();
Intent intent = new Intent();
intent.putExtra("imageToBase64", ImageHelper.imageToBase64(bitmap));
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
index f8ef517..d0eefe5 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
@@ -3,6 +3,7 @@
import android.view.MenuItem;
import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
@@ -11,8 +12,9 @@
import com.casic.birmm.hxrq.base.DoubleClickExitActivity;
import com.casic.birmm.hxrq.ui.fragment.HomePageFragment;
import com.casic.birmm.hxrq.ui.fragment.MinePageFragment;
+import com.casic.birmm.hxrq.utils.StatusBarColorUtil;
import com.google.android.material.bottomnavigation.BottomNavigationView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.gyf.immersionbar.ImmersionBar;
import java.util.ArrayList;
import java.util.List;
@@ -35,8 +37,8 @@
@Override
protected void setupTopBarLayout() {
- //设置状态栏黑色字体图标
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.homeBackColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
}
@Override
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
new file mode 100644
index 0000000..46db0a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
@@ -0,0 +1,78 @@
+package com.casic.birmm.hxrq.ui;
+
+import android.view.View;
+import android.widget.LinearLayout;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.birmm.hxrq.R;
+import com.casic.birmm.hxrq.base.BaseActivity;
+import com.casic.birmm.hxrq.utils.HttpConfig;
+import com.casic.birmm.hxrq.utils.TokenHelper;
+import com.just.agentweb.AgentWeb;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+
+public class WebViewActivity extends BaseActivity {
+
+ private static final String TAG = "WebViewActivity";
+ @BindView(R.id.parentView)
+ LinearLayout parentView;
+ @BindView(R.id.webTopLayout)
+ QMUITopBarLayout webTopLayout;
+ private AgentWeb mAgentWeb;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_web;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ String webTitle = getIntent().getStringExtra("webTitle");
+ webTopLayout.setTitle(webTitle).setTextColor(ContextCompat.getColor(this, R.color.white));
+ webTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ webTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ String params = "?token=" + TokenHelper.getToken() + "&url=" + getIntent().getStringExtra("url");
+ mAgentWeb = AgentWeb.with(this)
+ .setAgentWebParent(parentView, new LinearLayout.LayoutParams(-1, -1))
+ .useDefaultIndicator()
+ .createAgentWeb()
+ .ready()
+ .go(HttpConfig.STATIC_IP + params);
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @Override
+ protected void onPause() {
+ mAgentWeb.getWebLifeCycle().onPause();
+ super.onPause();
+
+ }
+
+ @Override
+ protected void onResume() {
+ mAgentWeb.getWebLifeCycle().onResume();
+ super.onResume();
+ }
+
+ @Override
+ protected void onDestroy() {
+ mAgentWeb.getWebLifeCycle().onDestroy();
+ super.onDestroy();
+ }
+}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
index 6323a62..0095c96 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
@@ -1,13 +1,12 @@
package com.casic.birmm.hxrq.ui.fragment;
import android.content.Context;
+import android.content.Intent;
import android.graphics.Color;
import android.text.TextUtils;
-import android.util.Log;
import android.view.View;
import android.widget.ImageView;
-import androidx.core.content.ContextCompat;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -21,8 +20,8 @@
import com.casic.birmm.hxrq.mvp.presenter.QrCodePresenterImpl;
import com.casic.birmm.hxrq.mvp.view.IHomePageView;
import com.casic.birmm.hxrq.mvp.view.IQrCodeDataView;
+import com.casic.birmm.hxrq.ui.WebViewActivity;
import com.casic.birmm.hxrq.utils.ToastHelper;
-import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import java.util.ArrayList;
import java.util.List;
@@ -39,9 +38,9 @@
public class HomePageFragment extends BaseFragment implements IHomePageView, IQrCodeDataView {
private static final String TAG = "HomePageFragment";
- @BindView(R.id.homeTopLayout)
- QMUITopBarLayout homeTopLayout;
+ @BindView(R.id.scannerView)
+ ImageView scannerView;
@BindView(R.id.userIconView)
ImageView userIconView;
@BindView(R.id.homeRecyclerView)
@@ -62,9 +61,7 @@
protected void setupTopBarLayout() {
context = getContext();
activity = getActivity();
- homeTopLayout.setTitle("华新燃气").setTextColor(ContextCompat.getColor(context, R.color.white));
- homeTopLayout.setBackgroundColor(ContextCompat.getColor(context, R.color.homeBackColor));
- homeTopLayout.addRightImageButton(R.drawable.ic_scanning, 1).setOnClickListener(new View.OnClickListener() {
+ scannerView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startScannerLogin();
@@ -82,7 +79,8 @@
@Override
protected void initEvent() {
- homePagePresenter.onReadyRetrofitRequest("02");
+// homePagePresenter.onReadyRetrofitRequest("02");//Test
+ homePagePresenter.onReadyRetrofitRequest("05");
}
private void startScannerLogin() {
@@ -133,12 +131,16 @@
adapter.setOnGridItemClickListener(new HomeRecycleAdapter.OnGridItemClickListener() {
@Override
public void onClick(int position) {
- String url = menusBeans.get(position).getUrl();
+ HomePageBean.DataBean.MenusBean menusBean = menusBeans.get(position);
+ String url = menusBean.getUrl();
if (!TextUtils.isEmpty(url)) {
- //TODO 跳转WebView加载H5
- Log.d(TAG, "onClick: " + url);
+ //打开内网WebView,需要单点登录,加载H5
+ Intent intent = new Intent(context, WebViewActivity.class);
+ intent.putExtra("webTitle", menusBean.getName());
+ intent.putExtra("url", url);
+ startActivity(intent);
} else {
- ToastHelper.showToast("", ToastHelper.WARING);
+ ToastHelper.showToast("地址有误,无法查看!", ToastHelper.WARING);
}
}
});
@@ -164,5 +166,8 @@
if (qrCodePresenter != null) {
qrCodePresenter.disposeRetrofitRequest();
}
+ if (homePagePresenter != null) {
+ homePagePresenter.disposeRetrofitRequest();
+ }
}
}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
index 6ef5fe5..dd73d70 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
@@ -2,4 +2,5 @@
public class HttpConfig {
public static final long HTTP_TIMEOUT = 30L;
+ public static final String STATIC_IP = "http://172.26.2.128:9001/sso/integrationConfig/login";
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java b/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java
new file mode 100644
index 0000000..9e4cb48
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java
@@ -0,0 +1,43 @@
+package com.casic.birmm.hxrq.utils;
+
+import android.app.Activity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.LinearLayout;
+
+public class StatusBarColorUtil {
+ public static void setColor(Activity activity, int color) {
+ //限制android系统的版本
+ // 设置状态栏透明
+ activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+ // 生成一个状态栏大小的矩形
+ View statusView = createStatusView(activity, color);
+ // 添加 statusView 到布局中
+ ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
+ decorView.addView(statusView);
+ // 设置根布局的参数
+ ViewGroup rootView = (ViewGroup) ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0);
+ rootView.setFitsSystemWindows(true);
+ rootView.setClipToPadding(true);
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private static View createStatusView(Activity activity, int color) {
+ // 获得状态栏高度
+ int resourceId = activity.getResources().getIdentifier("status_bar_height", "dimen", "android");
+ int statusBarHeight = activity.getResources().getDimensionPixelSize(resourceId);
+ // 绘制一个和状态栏一样高的矩形
+ View statusView = new View(activity);
+ LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight);
+ statusView.setLayoutParams(params);
+ statusView.setBackgroundColor(color);
+ return statusView;
+ }
+}
diff --git a/app/src/main/res/drawable/ic_left_white.xml b/app/src/main/res/drawable/ic_left_white.xml
new file mode 100644
index 0000000..5487d77
--- /dev/null
+++ b/app/src/main/res/drawable/ic_left_white.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_scanning.xml b/app/src/main/res/drawable/ic_scanning.xml
index d01e93d..6b43572 100644
--- a/app/src/main/res/drawable/ic_scanning.xml
+++ b/app/src/main/res/drawable/ic_scanning.xml
@@ -1,6 +1,6 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 19f4000..4b61d17 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -5,11 +5,28 @@
android:layout_height="match_parent"
android:orientation="vertical">
-
+ android:background="@color/homeBackColor">
+
+
+
+
+
@@ -49,8 +66,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginHorizontal="15dp"
- android:layout_marginTop="150dp"
- android:layout_marginBottom="12dp"
+ android:layout_marginTop="170dp"
+ android:layout_marginBottom="15dp"
android:elevation="10dp"
app:cardCornerRadius="5dp">
@@ -68,4 +85,4 @@
-
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index df78bb9..25a325f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -60,4 +60,10 @@
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.5.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
+ //WebView
+ implementation 'com.just.agentweb:agentweb-androidx:4.1.4'
+ //沉浸式状态栏。基础依赖包,必须要依赖
+ implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
+ //fragment快速实现
+ implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3641d30..9c88595 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
@@ -33,6 +34,7 @@
+
= 3) {//当栈里有3张bitmap之后才开始识别
+ if (bitmapStack.size() >= 1) {//当栈里有1张bitmap之后才开始识别
Bitmap bitmap = bitmapStack.pop();
Intent intent = new Intent();
intent.putExtra("imageToBase64", ImageHelper.imageToBase64(bitmap));
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
index f8ef517..d0eefe5 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/MainActivity.java
@@ -3,6 +3,7 @@
import android.view.MenuItem;
import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
@@ -11,8 +12,9 @@
import com.casic.birmm.hxrq.base.DoubleClickExitActivity;
import com.casic.birmm.hxrq.ui.fragment.HomePageFragment;
import com.casic.birmm.hxrq.ui.fragment.MinePageFragment;
+import com.casic.birmm.hxrq.utils.StatusBarColorUtil;
import com.google.android.material.bottomnavigation.BottomNavigationView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.gyf.immersionbar.ImmersionBar;
import java.util.ArrayList;
import java.util.List;
@@ -35,8 +37,8 @@
@Override
protected void setupTopBarLayout() {
- //设置状态栏黑色字体图标
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.homeBackColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
}
@Override
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
new file mode 100644
index 0000000..46db0a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/WebViewActivity.java
@@ -0,0 +1,78 @@
+package com.casic.birmm.hxrq.ui;
+
+import android.view.View;
+import android.widget.LinearLayout;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.birmm.hxrq.R;
+import com.casic.birmm.hxrq.base.BaseActivity;
+import com.casic.birmm.hxrq.utils.HttpConfig;
+import com.casic.birmm.hxrq.utils.TokenHelper;
+import com.just.agentweb.AgentWeb;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+
+public class WebViewActivity extends BaseActivity {
+
+ private static final String TAG = "WebViewActivity";
+ @BindView(R.id.parentView)
+ LinearLayout parentView;
+ @BindView(R.id.webTopLayout)
+ QMUITopBarLayout webTopLayout;
+ private AgentWeb mAgentWeb;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_web;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ String webTitle = getIntent().getStringExtra("webTitle");
+ webTopLayout.setTitle(webTitle).setTextColor(ContextCompat.getColor(this, R.color.white));
+ webTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ webTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ String params = "?token=" + TokenHelper.getToken() + "&url=" + getIntent().getStringExtra("url");
+ mAgentWeb = AgentWeb.with(this)
+ .setAgentWebParent(parentView, new LinearLayout.LayoutParams(-1, -1))
+ .useDefaultIndicator()
+ .createAgentWeb()
+ .ready()
+ .go(HttpConfig.STATIC_IP + params);
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @Override
+ protected void onPause() {
+ mAgentWeb.getWebLifeCycle().onPause();
+ super.onPause();
+
+ }
+
+ @Override
+ protected void onResume() {
+ mAgentWeb.getWebLifeCycle().onResume();
+ super.onResume();
+ }
+
+ @Override
+ protected void onDestroy() {
+ mAgentWeb.getWebLifeCycle().onDestroy();
+ super.onDestroy();
+ }
+}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
index 6323a62..0095c96 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/ui/fragment/HomePageFragment.java
@@ -1,13 +1,12 @@
package com.casic.birmm.hxrq.ui.fragment;
import android.content.Context;
+import android.content.Intent;
import android.graphics.Color;
import android.text.TextUtils;
-import android.util.Log;
import android.view.View;
import android.widget.ImageView;
-import androidx.core.content.ContextCompat;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -21,8 +20,8 @@
import com.casic.birmm.hxrq.mvp.presenter.QrCodePresenterImpl;
import com.casic.birmm.hxrq.mvp.view.IHomePageView;
import com.casic.birmm.hxrq.mvp.view.IQrCodeDataView;
+import com.casic.birmm.hxrq.ui.WebViewActivity;
import com.casic.birmm.hxrq.utils.ToastHelper;
-import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import java.util.ArrayList;
import java.util.List;
@@ -39,9 +38,9 @@
public class HomePageFragment extends BaseFragment implements IHomePageView, IQrCodeDataView {
private static final String TAG = "HomePageFragment";
- @BindView(R.id.homeTopLayout)
- QMUITopBarLayout homeTopLayout;
+ @BindView(R.id.scannerView)
+ ImageView scannerView;
@BindView(R.id.userIconView)
ImageView userIconView;
@BindView(R.id.homeRecyclerView)
@@ -62,9 +61,7 @@
protected void setupTopBarLayout() {
context = getContext();
activity = getActivity();
- homeTopLayout.setTitle("华新燃气").setTextColor(ContextCompat.getColor(context, R.color.white));
- homeTopLayout.setBackgroundColor(ContextCompat.getColor(context, R.color.homeBackColor));
- homeTopLayout.addRightImageButton(R.drawable.ic_scanning, 1).setOnClickListener(new View.OnClickListener() {
+ scannerView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startScannerLogin();
@@ -82,7 +79,8 @@
@Override
protected void initEvent() {
- homePagePresenter.onReadyRetrofitRequest("02");
+// homePagePresenter.onReadyRetrofitRequest("02");//Test
+ homePagePresenter.onReadyRetrofitRequest("05");
}
private void startScannerLogin() {
@@ -133,12 +131,16 @@
adapter.setOnGridItemClickListener(new HomeRecycleAdapter.OnGridItemClickListener() {
@Override
public void onClick(int position) {
- String url = menusBeans.get(position).getUrl();
+ HomePageBean.DataBean.MenusBean menusBean = menusBeans.get(position);
+ String url = menusBean.getUrl();
if (!TextUtils.isEmpty(url)) {
- //TODO 跳转WebView加载H5
- Log.d(TAG, "onClick: " + url);
+ //打开内网WebView,需要单点登录,加载H5
+ Intent intent = new Intent(context, WebViewActivity.class);
+ intent.putExtra("webTitle", menusBean.getName());
+ intent.putExtra("url", url);
+ startActivity(intent);
} else {
- ToastHelper.showToast("", ToastHelper.WARING);
+ ToastHelper.showToast("地址有误,无法查看!", ToastHelper.WARING);
}
}
});
@@ -164,5 +166,8 @@
if (qrCodePresenter != null) {
qrCodePresenter.disposeRetrofitRequest();
}
+ if (homePagePresenter != null) {
+ homePagePresenter.disposeRetrofitRequest();
+ }
}
}
diff --git a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
index 6ef5fe5..dd73d70 100644
--- a/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
+++ b/app/src/main/java/com/casic/birmm/hxrq/utils/HttpConfig.java
@@ -2,4 +2,5 @@
public class HttpConfig {
public static final long HTTP_TIMEOUT = 30L;
+ public static final String STATIC_IP = "http://172.26.2.128:9001/sso/integrationConfig/login";
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java b/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java
new file mode 100644
index 0000000..9e4cb48
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/hxrq/utils/StatusBarColorUtil.java
@@ -0,0 +1,43 @@
+package com.casic.birmm.hxrq.utils;
+
+import android.app.Activity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.LinearLayout;
+
+public class StatusBarColorUtil {
+ public static void setColor(Activity activity, int color) {
+ //限制android系统的版本
+ // 设置状态栏透明
+ activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+ // 生成一个状态栏大小的矩形
+ View statusView = createStatusView(activity, color);
+ // 添加 statusView 到布局中
+ ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
+ decorView.addView(statusView);
+ // 设置根布局的参数
+ ViewGroup rootView = (ViewGroup) ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0);
+ rootView.setFitsSystemWindows(true);
+ rootView.setClipToPadding(true);
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private static View createStatusView(Activity activity, int color) {
+ // 获得状态栏高度
+ int resourceId = activity.getResources().getIdentifier("status_bar_height", "dimen", "android");
+ int statusBarHeight = activity.getResources().getDimensionPixelSize(resourceId);
+ // 绘制一个和状态栏一样高的矩形
+ View statusView = new View(activity);
+ LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight);
+ statusView.setLayoutParams(params);
+ statusView.setBackgroundColor(color);
+ return statusView;
+ }
+}
diff --git a/app/src/main/res/drawable/ic_left_white.xml b/app/src/main/res/drawable/ic_left_white.xml
new file mode 100644
index 0000000..5487d77
--- /dev/null
+++ b/app/src/main/res/drawable/ic_left_white.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_scanning.xml b/app/src/main/res/drawable/ic_scanning.xml
index d01e93d..6b43572 100644
--- a/app/src/main/res/drawable/ic_scanning.xml
+++ b/app/src/main/res/drawable/ic_scanning.xml
@@ -1,6 +1,6 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 19f4000..4b61d17 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -5,11 +5,28 @@
android:layout_height="match_parent"
android:orientation="vertical">
-
+ android:background="@color/homeBackColor">
+
+
+
+
+
@@ -49,8 +66,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginHorizontal="15dp"
- android:layout_marginTop="150dp"
- android:layout_marginBottom="12dp"
+ android:layout_marginTop="170dp"
+ android:layout_marginBottom="15dp"
android:elevation="10dp"
app:cardCornerRadius="5dp">
@@ -68,4 +85,4 @@
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_mine.xml b/app/src/main/res/layout/fragment_mine.xml
index 608b04e..235afad 100644
--- a/app/src/main/res/layout/fragment_mine.xml
+++ b/app/src/main/res/layout/fragment_mine.xml
@@ -2,6 +2,6 @@
+ android:background="@color/homeBackColor">
\ No newline at end of file