feat: UI 细节完善

This commit is contained in:
juntao
2022-06-20 14:41:37 +08:00
parent 6ae44c34d1
commit 36704af531
5 changed files with 30 additions and 5 deletions

View File

@ -30,6 +30,8 @@ public class DetailDownloadUtils {
public static void detailInitDownload(DetailViewHolder viewHolder, boolean isCheck) {
String downloadAddWord = viewHolder.gameEntity.getDownloadAddWord();
viewHolder.overlayTv.setVisibility(View.GONE);
if (viewHolder.gameEntity != null
&& Config.isShowDownload(viewHolder.gameEntity.getId())
&& !"光环助手".equals(viewHolder.gameEntity.getName())) {
@ -103,7 +105,8 @@ public class DetailDownloadUtils {
downloadText = "升级" + (TextUtils.isEmpty(downloadAddWord) ? "" : "" + downloadAddWord) + getDownloadSizeText(viewHolder);
} else if (viewHolder.context.getString(R.string.launch).equals(status)) {
if (viewHolder.gameEntity.isVGame()) {
downloadText = viewHolder.context.getString(R.string.smooth_launch);
downloadText = "";
viewHolder.overlayTv.setVisibility(View.VISIBLE);
} else {
downloadText = status + (TextUtils.isEmpty(downloadAddWord) ? "" : "-" + downloadAddWord);
}
@ -149,6 +152,7 @@ public class DetailDownloadUtils {
}
viewHolder.mDownloadPb.setProgress((int) (viewHolder.downloadEntity.getPercent() * 10));
viewHolder.overlayTv.setVisibility(View.GONE);
switch (downloadEntity.getStatus()) {
case downloading:
case pause:
@ -191,12 +195,13 @@ public class DetailDownloadUtils {
}
} else if (viewHolder.gameEntity.isVGame()) {
if (VHelper.isInstalled(downloadEntity.getPackageName())) {
viewHolder.mDownloadPb.setText(R.string.smooth_launch);
viewHolder.mDownloadPb.setDownloadType(DownloadProgressBar.DownloadType.LAUNCH_OR_OPEN);
} else {
viewHolder.mDownloadPb.setText(R.string.smooth_launch);
viewHolder.mDownloadPb.setDownloadType(DownloadProgressBar.DownloadType.INSTALL_NORMAL);
}
viewHolder.mDownloadPb.setText("");
viewHolder.overlayTv.setVisibility(View.VISIBLE);
} else {
if (SPUtils.getBoolean(Constants.SP_USE_BROWSER_TO_INSTALL)) {
viewHolder.mDownloadPb.setText(R.string.browser_install_install);

View File

@ -4,6 +4,7 @@ import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.view.View;
import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
@ -77,12 +78,14 @@ public class DetailViewHolder {
public View downloadBottom;
public DownloadProgressBar mDownloadPb;
public TextView overlayTv; // 额外的文字 (用于一些含图片的情况)
// 注意View的命名
public DetailViewHolder(View view, GameEntity gameEntity, DownloadEntity downloadEntity,
boolean isNewsDetail, String entrance, String name, String title, @Nullable ExposureEvent traceEvent) {
downloadBottom = view.findViewById(R.id.detail_ll_bottom);
mDownloadPb = view.findViewById(R.id.detail_progressbar);
overlayTv = view.findViewById(R.id.overlayTv);
this.gameEntity = gameEntity;
this.downloadEntity = downloadEntity;

View File

@ -79,8 +79,10 @@ class VDownloadManagerFragment :
val status = mBinding.switchIv.isChecked
val anime = if (status) "lottie/switch_turnoff.json" else "lottie/switch_turnon.json"
mBinding.switchLottie.setAnimation(anime)
mBinding.switchLottie.doOnAnimationEnd {
mBinding.switchIv.isChecked = !status
}
mBinding.switchLottie.playAnimation()
mBinding.switchIv.isChecked = !status
SPUtils.setBoolean(Constants.SP_HOME_VGAME_AREA_ENABLED, !status)
DownloadManager.getInstance().notifyDownloadLiveDataChanged()