From 91c399d95e16f78ac7e0b9c99983c2692f3be8bb Mon Sep 17 00:00:00 2001 From: huangjian Date: Fri, 6 Aug 2021 18:30:22 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AA=E5=B1=8F=E9=A1=B5=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=B7=B3=E8=BF=87=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erban/other/activity/SplashActivity.java | 48 +++++-------------- .../res/drawable/selector_bg_splash_skip.xml | 19 ++------ app/src/main/res/layout/activity_splash.xml | 34 +++++++++---- 3 files changed, 43 insertions(+), 58 deletions(-) diff --git a/app/src/main/java/com/yizhuan/erban/other/activity/SplashActivity.java b/app/src/main/java/com/yizhuan/erban/other/activity/SplashActivity.java index cc2691bf2..e43bafdc0 100644 --- a/app/src/main/java/com/yizhuan/erban/other/activity/SplashActivity.java +++ b/app/src/main/java/com/yizhuan/erban/other/activity/SplashActivity.java @@ -2,20 +2,15 @@ package com.yizhuan.erban.other.activity; import android.annotation.SuppressLint; import android.content.Intent; - -import androidx.databinding.DataBindingUtil; -import androidx.fragment.app.FragmentTransaction; - import android.os.Bundle; import android.text.TextUtils; import android.view.View; +import android.view.animation.AlphaAnimation; import androidx.databinding.DataBindingUtil; import com.alibaba.security.rp.RPSDK; import com.bumptech.glide.request.RequestOptions; -import com.idlefish.flutterboost.FlutterBoost; -import com.idlefish.flutterboost.containers.FlutterBoostFragment; import com.microquation.linkedme.android.LinkedME; import com.mob.MobSDK; import com.netease.mobsec.rjsb.watchman; @@ -29,7 +24,6 @@ import com.yizhuan.erban.NimMiddleActivity; import com.yizhuan.erban.R; import com.yizhuan.erban.base.BaseActivity; import com.yizhuan.erban.databinding.ActivitySplashBinding; -import com.yizhuan.erban.flutter.RouterConstants; import com.yizhuan.erban.other.SplashBitmapTransformation; import com.yizhuan.erban.other.dialog.PrivacyAgreementDialog; import com.yizhuan.xchat_android_constants.XChatConstants; @@ -50,6 +44,8 @@ public class SplashActivity extends BaseActivity implements View.OnClickListener private ActivitySplashBinding mBinding; private SplashComponent mLocalSplashVo; + private volatile boolean needJump = false; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -62,11 +58,7 @@ public class SplashActivity extends BaseActivity implements View.OnClickListener } mBinding = DataBindingUtil.setContentView(this, R.layout.activity_splash); - -// initFlutter(); TODO: 闪屏初始化方案,大概节省0~2秒的首页等待时间 - - mBinding.ivActivity.setOnClickListener(this); - mBinding.tvSkip.setOnClickListener(this); + mBinding.setClick(this); if (savedInstanceState != null) { // 从堆栈恢复,不再重复解析之前的intent setIntent(new Intent()); @@ -86,19 +78,6 @@ public class SplashActivity extends BaseActivity implements View.OnClickListener checkPrivacyAgreement(); } - private void initFlutter() { - FlutterBoostFragment splash = new FlutterBoostFragment - .CachedEngineFragmentBuilder(FlutterBoostFragment.class, FlutterBoost.ENGINE_ID) - .url(RouterConstants.FLUTTER_PAGE_SPLASH) - .shouldAttachEngineToActivity(false) - .destroyEngineWithFragment(false) - .build(); - - FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); - transaction.add(R.id.fl_init_flutter, splash, null); - transaction.show(splash); - if (!isDestroyed()) transaction.commitNowAllowingStateLoss(); - } private void checkPrivacyAgreement() { boolean isShowPrivacyAgreement = (boolean) SharedPreferenceUtils.get(SHOW_PRIVACY_AGREEMENT, true); @@ -136,7 +115,6 @@ public class SplashActivity extends BaseActivity implements View.OnClickListener } - private void showSplash() { // 不过期的,并且已经下载出来图片的闪屏页数据 mLocalSplashVo = InitialModel.get().getLocalSplashVo(); @@ -148,6 +126,8 @@ public class SplashActivity extends BaseActivity implements View.OnClickListener //添加图片处理机制 .apply(RequestOptions.bitmapTransform(new SplashBitmapTransformation())) .into(mBinding.ivActivity); + mBinding.tvJump.setVisibility(View.VISIBLE); + mBinding.tvSkip.setVisibility(View.VISIBLE); } else { NimMiddleActivity.delayOpenCommunity = false; MainActivity.start(SplashActivity.this); @@ -155,27 +135,25 @@ public class SplashActivity extends BaseActivity implements View.OnClickListener } } - - private volatile boolean needJump = false; - private void animation() { - mBinding.ivActivity.setAlpha(0.4F); - mBinding.ivActivity.animate().alpha(1).setDuration(1000).setStartDelay(0).start(); - mBinding.ivActivity.animate().setDuration(COUNT_DOWN_TIME * 1000).withEndAction(() -> { + AlphaAnimation alphaAnimation = new AlphaAnimation(0,1); + alphaAnimation.setDuration(500); + mBinding.ivActivity.startAnimation(alphaAnimation); + mBinding.ivActivity.postDelayed(() -> { if (needJump) { return; } NimMiddleActivity.delayOpenCommunity = false; MainActivity.start(SplashActivity.this); finish(); - }).start(); + },COUNT_DOWN_TIME * 1000); } @Override public void onClick(View v) { switch (v.getId()) { - case R.id.iv_activity: + case R.id.tv_jump: if (mLocalSplashVo == null) return; String link = mLocalSplashVo.getLink(); int type = mLocalSplashVo.getType(); @@ -193,9 +171,9 @@ public class SplashActivity extends BaseActivity implements View.OnClickListener return; } needJump = true; - NimMiddleActivity.delayOpenCommunity = false; MainActivity.start(this); + finish(); break; default: break; diff --git a/app/src/main/res/drawable/selector_bg_splash_skip.xml b/app/src/main/res/drawable/selector_bg_splash_skip.xml index b51c4944d..4ffa2d976 100644 --- a/app/src/main/res/drawable/selector_bg_splash_skip.xml +++ b/app/src/main/res/drawable/selector_bg_splash_skip.xml @@ -1,15 +1,6 @@ - - - - - - - - - - - - - - \ No newline at end of file + + + + diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml index f9daeba3a..44bc2e641 100644 --- a/app/src/main/res/layout/activity_splash.xml +++ b/app/src/main/res/layout/activity_splash.xml @@ -3,6 +3,9 @@ + + android:textColor="@color/white" + android:textSize="13dp" + android:visibility="visible" /> + +