From 36704af5314cea2d3b228a85e9e2ca644590219b Mon Sep 17 00:00:00 2001 From: juntao Date: Mon, 20 Jun 2022 14:41:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20UI=20=E7=BB=86=E8=8A=82=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gh/common/util/DetailDownloadUtils.java | 11 ++++++++--- .../adapter/viewholder/DetailViewHolder.java | 3 +++ .../com/gh/vspace/VDownloadManagerFragment.kt | 4 +++- .../ic_smooth_game_button_hint.png | Bin 0 -> 1178 bytes .../main/res/layout/detail_download_item.xml | 17 ++++++++++++++++- 5 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_smooth_game_button_hint.png diff --git a/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java b/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java index da62befa1e..7338f07690 100644 --- a/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java +++ b/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java @@ -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); diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java index 302c6879d7..3fce0dca45 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java @@ -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; diff --git a/app/src/main/java/com/gh/vspace/VDownloadManagerFragment.kt b/app/src/main/java/com/gh/vspace/VDownloadManagerFragment.kt index 90bb4ad953..5a5395283d 100644 --- a/app/src/main/java/com/gh/vspace/VDownloadManagerFragment.kt +++ b/app/src/main/java/com/gh/vspace/VDownloadManagerFragment.kt @@ -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() diff --git a/app/src/main/res/drawable-xxxhdpi/ic_smooth_game_button_hint.png b/app/src/main/res/drawable-xxxhdpi/ic_smooth_game_button_hint.png new file mode 100644 index 0000000000000000000000000000000000000000..1ebef1cc35985c8f375edc8a45c80afff165927f GIT binary patch literal 1178 zcmV;L1ZDe)P)Px(R7pfZRA@upTK`cMK@3hhfDWJnr30xzsX(a!sX(kitw1^uE07MP1F!<=AkOz@ z@6Ek?$tJnoyT`bHF>^~c-{#ks>|^@R7f11l$U7psBBD3Z|5;$)GZEbp(KR#UZ+C?N zipU2d`tC|wZ^HvKpGA&~0(>N*lZe0-_gpYDtXW+yKoNOOM87>j2l)PtnLm2xMgYDv z_Z%>NX6Bn701^5 zAt-c%5hb)eB7&rb^1<;~Np&l%&$s`UD7I4+KMupV4k8E+S+>^b?oc@mV3!V}ToiaL+8&StcYfjl6cG>H z9!J&yHg^!EV55$X2UTzxj2S|G+!SnJHl&U)G=R+=goxCpZ~zEp+;PJI(zvkk9o#YV zh2{Yoz@`o&aMREuWliV8APeL}9RzCt#fXJa2O%Psi)&(CYdROUlQE+fv;c-0O%btN z+{z(UYdQd3+L&?CK|#0z3hA|`vExp)L}^;nn6Ay6izW!~-T@uj9o3peE@ne0JGfw+ z9U7Tv7DQ?XQ_wnzu?6;scdbcApH^C-$Qy?nn_kTvzFSl+k|;EQR=cy|u*DK!A@2hU zrZTN1uhtKGAoqxOg(L1v!OPqQtYmR(dQ&whfE#}`8s8%Z0B(m5W;yH(Yl4QQ>7M&G z5pbo=77>}nVUyNO&trQ6wB{-96g*)~cn|7v==oZ0m!cL^$gnk}3g3FMCdxrAgS*9j ztXoeDHVvtY6){Qhe&mpvs&@g{GNdZW3G-KEZLjvGUY5GKXoX-`hg5|az$GK)0{W&O zU3*#3BG@WlEEyMd&~wKjobb?tSWeGldjSmfki{JV%>8vlK?XK6tNvA~S|*c5U!g<< zafVXj#Tky@kO_*=BD3UT@<5*NO#^X?XL~c>-wQj*R;PjK$HPwQH@J3lJ-{xSPDJBjoX|>)BfrJ shXYH=IO@efvOui;O-ZJg5=+YY2PEVvS6 @@ -279,6 +279,21 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/iv_switch" app:layout_constraintTop_toTopOf="parent" /> + +