闪屏页增加跳过按钮
This commit is contained in:
@@ -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;
|
||||
|
@@ -1,15 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape>
|
||||
<corners android:radius="@dimen/dp_6" />
|
||||
<solid android:color="#99262626" />
|
||||
</shape>
|
||||
</item>
|
||||
<item android:state_pressed="true">
|
||||
<shape>
|
||||
<corners android:radius="@dimen/dp_6" />
|
||||
<solid android:color="#99262626" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/black_transparent_40" />
|
||||
<corners android:radius="100dp" />
|
||||
</shape>
|
||||
|
@@ -3,6 +3,9 @@
|
||||
|
||||
<data>
|
||||
|
||||
<variable
|
||||
name="click"
|
||||
type="android.view.View.OnClickListener" />
|
||||
</data>
|
||||
|
||||
<FrameLayout
|
||||
@@ -22,19 +25,32 @@
|
||||
android:scaleType="centerCrop" />
|
||||
|
||||
<TextView
|
||||
android:visibility="gone"
|
||||
android:id="@+id/tv_skip"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginTop="70dp"
|
||||
android:layout_marginEnd="@dimen/dp_12"
|
||||
android:layout_marginTop="50dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:background="@drawable/selector_bg_splash_skip"
|
||||
android:gravity="center"
|
||||
android:paddingTop="@dimen/dp_8"
|
||||
android:paddingBottom="@dimen/dp_8"
|
||||
android:minWidth="80dp"
|
||||
android:onClick="@{click}"
|
||||
android:text="@string/text_skip"
|
||||
android:textColor="@color/white" />
|
||||
android:textColor="@color/white"
|
||||
android:textSize="13dp"
|
||||
android:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_jump"
|
||||
android:layout_width="250dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_gravity="center_horizontal|bottom"
|
||||
android:layout_marginBottom="50dp"
|
||||
android:background="@drawable/bg_common_confirm"
|
||||
android:gravity="center"
|
||||
android:onClick="@{click}"
|
||||
android:text="点击进入更多精彩"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="18dp"
|
||||
android:visibility="visible" />
|
||||
</FrameLayout>
|
||||
</layout>
|
||||
|
Reference in New Issue
Block a user