feat: UI 细节完善
This commit is contained in:
@ -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);
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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()
|
||||
|
||||
Reference in New Issue
Block a user