| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- package eVVM.apk.ui.launcher.guide;
- import android.content.Intent;
- import android.view.MotionEvent;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ImageView;
- import butterknife.BindView;
- import butterknife.OnClick;
- import cn.bingoogolapple.bgabanner.BGABanner;
- import cn.bingoogolapple.bgabanner.BGALocalImageSize;
- import eVVM.apk.R;
- import eVVM.apk.common.MyActivity;
- import eVVM.apk.helper.SPUtils;
- import eVVM.apk.ui.home.FactorAdminActivity;
- import eVVM.apk.ui.home.FactoryOperatorActivity;
- import eVVM.apk.ui.home.HomeActivity;
- import me.jessyan.autosize.utils.ScreenUtils;
- public class GuideActivity extends MyActivity {
- @BindView(R.id.banner_guide_background)
- BGABanner bannerGuideBackground;
- @BindView(R.id.btn_guide_enter)
- Button btnGuideEnter;
- /*@BindView(R.id.banner_guide_foreground)
- BGABanner bannerGuideForeground;*/
- private int guideRoleId;
- @Override
- protected int getLayoutId() {
- return R.layout.activity_guide;
- }
- @Override
- protected int getTitleId() {
- return 0;
- }
- @Override
- protected void initView() {
- Intent in = getIntent();
- guideRoleId = in.getIntExtra("guideRoleId", 0);
- }
- @Override
- protected void initData() {
- processLogic();
- setListener();
- }
- private void setListener() {
- /**
- * 设置进入按钮和跳过按钮控件资源 id 及其点击事件
- * 如果进入按钮和跳过按钮有一个不存在的话就传 0
- *//*
- bannerGuideBackground.setEnterSkipViewIdAndDelegate(R.id.btn_guide_enter, 0, new BGABanner.GuideDelegate() {
- @Override
- public void onClickEnterOrSkip() {
- //gohome();
- }
- });*/
- //设置ViewPager的滑动监听,为了滑动到最后一页,继续滑动实现页面的跳转
- bannerGuideBackground.getViewPager().setOnTouchListener(new View.OnTouchListener() {
- private float startX2 = 0;
- float startX;
- float endX;
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- switch (event.getAction()) {
- case MotionEvent.ACTION_DOWN:
- startX = event.getRawX();
- break;
- case MotionEvent.ACTION_UP:
- if (startX == 0) {
- startX = startX2;
- }
- endX = event.getRawX();
- //获取屏幕的宽度
- int width = ScreenUtils.getScreenSize(getApplicationContext())[0];
- //根据滑动的距离来切换界面
- if (bannerGuideBackground.getCurrentItem() == bannerGuideBackground.getItemCount() - 1) {
- startX2 = 0;
- if (startX - endX >= (width / 5)) {
- gohome();
- }
- }
- break;
- case MotionEvent.ACTION_MOVE:
- if (bannerGuideBackground.getCurrentItem() == bannerGuideBackground.getItemCount() - 1 && startX2 == 0) {
- startX2 = event.getRawX();
- }
- break;
- }
- return false;
- }
- });
- }
- private void gohome() {
- switch (guideRoleId) { //根据不同角色 跳转进入不同的页面 只有厂家管理员不需要判断nfc
- case 2: //医生
- startActivityFinish(HomeActivity.class);
- SPUtils.put("GUIDE_DOCTOR", 1);
- break;
- case 3: //医药企业管理员
- startActivityFinish(FactorAdminActivity.class);
- SPUtils.put("GUIDE_ADMIN", 1);
- break;
- case 4: //医药企业操作员
- if (!checkGpsAndNfc()) {
- return;
- }
- startActivityFinish(FactoryOperatorActivity.class);
- SPUtils.put("GUIDE_OPERA", 1);
- break;
- default:
- toast("当前版本不支持本角色登录");
- break;
- }
- }
- private void processLogic() {
- // Bitmap 的宽高在 maxWidth maxHeight 和 minWidth minHeight 之间
- BGALocalImageSize localImageSize = new BGALocalImageSize(1080, 1920, 320, 640);
- // 设置数据源
- if (guideRoleId == 2) {//根据不同的角色设置不同的引导数据
- bannerGuideBackground.setData(localImageSize, ImageView.ScaleType.CENTER_CROP,
- R.drawable.doctor01,
- R.drawable.doctor05,
- R.drawable.doctor03,
- R.drawable.doctor02,
- R.drawable.doctor04);
- } else if (guideRoleId == 3) {
- bannerGuideBackground.setData(localImageSize, ImageView.ScaleType.CENTER_CROP,
- R.drawable.admin01,
- R.drawable.admin02,
- R.drawable.admin03,
- R.drawable.admin04);
- } else if (guideRoleId == 4) {
- bannerGuideBackground.setData(localImageSize, ImageView.ScaleType.CENTER_CROP,
- R.drawable.operator01,
- R.drawable.operator02);
- }
- /* bannerGuideForeground.setData(localImageSize, ImageView.ScaleType.CENTER_CROP,
- R.drawable.uoko_guide_foreground_1,
- R.drawable.uoko_guide_foreground_2,
- R.drawable.uoko_guide_foreground_3,
- R.drawable.uoko_guide_foreground_2);*/
- }
- @Override
- protected void onResume() {
- super.onResume();
- // 如果引导页主题是透明的,需要在界面可见时给背景 Banner 设置一个白色背景,避免滑动过程中两个 Banner 都设置透明度后能看到 Launcher
- bannerGuideBackground.setBackgroundResource(android.R.color.white);
- }
- @OnClick(R.id.btn_guide_enter)
- public void onViewClicked() {
- gohome();
- }
- }
|