From 48b5c7efc1ec3085311166323289a9c2a4c78e23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=8E=89=E4=B9=85?= <1484288157@qq.com> Date: Mon, 1 Mar 2021 10:05:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=89=E7=8E=AF=E5=8A=A9=E6=89=8BV4.8.0-?= =?UTF-8?q?=E5=A4=9A=E7=89=88=E6=9C=AC=E4=B8=8B=E8=BD=BD=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=88=E7=AC=AC=E4=BA=8C=E6=9C=9F=EF=BC=89?= =?UTF-8?q?https://git.ghzs.com/pm/halo-app-issues/-/issues/1157?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gh/download/dialog/DownloadDialog.kt | 2 + .../DownloadDialogInstalledItemViewHolder.kt | 2 +- .../dialog/DownloadDialogItemViewHolder.kt | 21 +- .../drawable-hdpi/ic_recommend_label.9.png | Bin 0 -> 498 bytes ...wnload_dialog_collection_status_launch.png | Bin 0 -> 805 bytes .../download_dialog_status_collection.png | Bin 411 -> 407 bytes ...download_dialog_status_collection_gray.png | Bin 0 -> 411 bytes .../download_dialog_status_download.png | Bin 627 -> 457 bytes .../download_dialog_status_download_gray.png | Bin 0 -> 437 bytes .../download_dialog_status_launch.webp | Bin 806 -> 690 bytes .../download_dialog_installed_background.xml | 6 +- .../download_dialog_item_background.xml | 6 +- app/src/main/res/layout/dialog_download.xml | 51 ++-- .../layout/download_dialog_installed_item.xml | 26 +- .../main/res/layout/download_dialog_item.xml | 283 +++++++++++------- .../res/layout/download_dialog_link_item.xml | 11 +- .../layout/download_dialog_section_item.xml | 6 +- 17 files changed, 238 insertions(+), 176 deletions(-) create mode 100644 app/src/main/res/drawable-hdpi/ic_recommend_label.9.png create mode 100644 app/src/main/res/drawable-xxhdpi/download_dialog_collection_status_launch.png create mode 100644 app/src/main/res/drawable-xxhdpi/download_dialog_status_collection_gray.png create mode 100644 app/src/main/res/drawable-xxhdpi/download_dialog_status_download_gray.png diff --git a/app/src/main/java/com/gh/download/dialog/DownloadDialog.kt b/app/src/main/java/com/gh/download/dialog/DownloadDialog.kt index fc90821205..b41e7ff86d 100644 --- a/app/src/main/java/com/gh/download/dialog/DownloadDialog.kt +++ b/app/src/main/java/com/gh/download/dialog/DownloadDialog.kt @@ -84,6 +84,8 @@ class DownloadDialog : BaseDialogFragment(), View.OnTouchListener { } } + override fun getThemeRes(): Int = R.style.DialogFragmentDimAmount + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val createDialog = super.onCreateDialog(savedInstanceState) createDialog.setCanceledOnTouchOutside(true) diff --git a/app/src/main/java/com/gh/download/dialog/DownloadDialogInstalledItemViewHolder.kt b/app/src/main/java/com/gh/download/dialog/DownloadDialogInstalledItemViewHolder.kt index a2cc18c9d2..143f0ec6f3 100644 --- a/app/src/main/java/com/gh/download/dialog/DownloadDialogInstalledItemViewHolder.kt +++ b/app/src/main/java/com/gh/download/dialog/DownloadDialogInstalledItemViewHolder.kt @@ -41,7 +41,7 @@ class DownloadDialogInstalledItemViewHolder(val binding: DownloadDialogInstalled binding.launch.visibility = View.GONE if (apkCollection != null) { binding.remark.goneIf(apkCollection.remark.isEmpty()) - binding.root.setBackgroundResource(R.drawable.download_dialog_item_collection_background) +// binding.root.setBackgroundResource(R.drawable.download_dialog_item_collection_background) } else { binding.remark.goneIf(apkEntity.remark.isEmpty()) } diff --git a/app/src/main/java/com/gh/download/dialog/DownloadDialogItemViewHolder.kt b/app/src/main/java/com/gh/download/dialog/DownloadDialogItemViewHolder.kt index 0e063b813a..60ef7448fa 100644 --- a/app/src/main/java/com/gh/download/dialog/DownloadDialogItemViewHolder.kt +++ b/app/src/main/java/com/gh/download/dialog/DownloadDialogItemViewHolder.kt @@ -3,6 +3,7 @@ package com.gh.download.dialog import android.content.Context import android.view.View import androidx.appcompat.app.AppCompatActivity +import androidx.core.content.ContextCompat import com.gh.base.BaseActivity import com.gh.base.BaseRecyclerViewHolder import com.gh.common.constant.Config @@ -52,18 +53,18 @@ class DownloadDialogItemViewHolder(val binding: DownloadDialogItemBinding) : Bas remark = apkCollection.remark) else -> apkEntity } - binding.root.setBackgroundResource(R.drawable.download_dialog_item_background) + binding.containerView.setBackgroundResource(R.drawable.download_dialog_item_background) if (apkLink != null) { - binding.downloadStatusIcon.visibility = View.VISIBLE + binding.downloadStatusIcon.visibility = View.GONE binding.status.visibility = View.VISIBLE binding.progressbar.visibility = View.GONE binding.install.visibility = View.GONE binding.remark.goneIf(apkLink.remark.isEmpty()) binding.status.text = "点击查看" - binding.downloadStatusIcon.setImageResource(R.drawable.download_dialog_collection_status_link) - binding.root.setBackgroundResource(R.drawable.download_dialog_installed_background) + binding.status.setCompoundDrawablesWithIntrinsicBounds(null, null, ContextCompat.getDrawable(binding.status.context, R.drawable.download_dialog_collection_status_link), null) + binding.containerView.setBackgroundResource(R.drawable.download_dialog_installed_background) itemView.setTag(DownloadDialogAdapter.ITEM_TAG_KEY, DownloadDialogItemStatus.LINK) } else if (apkCollection != null || (!isCollectionPage && apkEntity.downloadInstruction.isNotEmpty())) { binding.downloadStatusIcon.visibility = View.VISIBLE @@ -72,12 +73,11 @@ class DownloadDialogItemViewHolder(val binding: DownloadDialogItemBinding) : Bas binding.status.visibility = View.GONE if (apkCollection != null) { binding.remark.goneIf(apkCollection.remark.isEmpty()) - binding.root.setBackgroundResource(R.drawable.download_dialog_item_collection_background) } else { binding.remark.goneIf(apkEntity.remark.isEmpty()) } - binding.downloadStatusIcon.setImageResource(R.drawable.download_dialog_status_collection) + binding.downloadStatusIcon.setImageResource(R.drawable.download_dialog_status_collection_gray) itemView.setTag(DownloadDialogAdapter.ITEM_TAG_KEY, DownloadDialogItemStatus.COLLECTION) } else { @@ -104,17 +104,17 @@ class DownloadDialogItemViewHolder(val binding: DownloadDialogItemBinding) : Bas binding.remark.goneIf(apkEntity.remark.isEmpty()) if (PackageUtils.isCanUpdate(apkEntity, gameEntity.id)) { - binding.downloadStatusIcon.visibility = View.VISIBLE binding.status.visibility = View.VISIBLE binding.status.text = "可更新" - binding.downloadStatusIcon.setImageResource(R.drawable.download_dialog_collection_status_update) + binding.status.setCompoundDrawablesWithIntrinsicBounds(null, null, ContextCompat.getDrawable(binding.status.context, R.drawable.download_dialog_collection_status_update), null) + binding.downloadStatusIcon.visibility = View.GONE itemView.setTag(DownloadDialogAdapter.ITEM_TAG_KEY, DownloadDialogItemStatus.UPDATE) } else if (PackageUtils.getGhId(apkEntity.packageName) == gameEntity.id || PackagesManager.isInstalled(apkEntity.packageName) && Config.getSettings()?.gameDownloadBlackList?.contains(apkEntity.packageName) == true) { binding.downloadStatusIcon.visibility = View.GONE binding.status.visibility = View.VISIBLE - binding.root.setBackgroundResource(R.drawable.download_dialog_installed_background) + binding.containerView.setBackgroundResource(R.drawable.download_dialog_installed_background) var isFilter = false Config.getSettings()?.gameDownloadBlackList?.forEach { pkgName -> @@ -131,12 +131,13 @@ class DownloadDialogItemViewHolder(val binding: DownloadDialogItemBinding) : Bas // 点击启动 binding.status.text = "点击启动" itemView.setTag(DownloadDialogAdapter.ITEM_TAG_KEY, DownloadDialogItemStatus.LAUNCH) + binding.status.setCompoundDrawablesWithIntrinsicBounds(null, null, ContextCompat.getDrawable(binding.status.context, R.drawable.download_dialog_collection_status_launch), null) } } else { binding.downloadStatusIcon.visibility = View.VISIBLE binding.status.visibility = View.GONE - binding.downloadStatusIcon.setImageResource(R.drawable.download_dialog_status_download) + binding.downloadStatusIcon.setImageResource(R.drawable.download_dialog_status_download_gray) if (PackageUtils.isCanPluggable(apkEntity)) { itemView.setTag(DownloadDialogAdapter.ITEM_TAG_KEY, DownloadDialogItemStatus.PLUGGABLE) } else { diff --git a/app/src/main/res/drawable-hdpi/ic_recommend_label.9.png b/app/src/main/res/drawable-hdpi/ic_recommend_label.9.png new file mode 100644 index 0000000000000000000000000000000000000000..5f80ba389397e86dfa6853ac071dcd68be3ec73a GIT binary patch literal 498 zcmVapi6vL`+>e_xEm=v#L>rWT*s83B047Oq4md{Yq}pbSnMh{X%YeFKnsiIY5~ z0n^~h6ek(+B}3b%{+?va1)9WNH-}!A3?Od)iJW>$-HB?=4dc0 zW`)3$=!WM8P({F(13X_B?Lzq zuA9_cbv3dQD9ommIieqGfGN;Hvj?D^OWX2kRHO3&eFxC+R#f+coQ}E-E!Wt&4WJCp z8sL`#nr+kWQSv9dFIkxe^&c9wE6Sm4gY0?F$Te1Dwx7am%F!r?a)g*Nt*AxQa-O4x zMkm+;83EkQt!Q~Q8j1eocu9aZ#~^AOr&0UDz(C#tyxcI2x>rCx998gLxdC_qiaqD5 oRxXVy8G0}EW%>O2?RTH}0d$UJFj);Px&QzG07*qoM6N<$f-~mcHvj+t literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/download_dialog_collection_status_launch.png b/app/src/main/res/drawable-xxhdpi/download_dialog_collection_status_launch.png new file mode 100644 index 0000000000000000000000000000000000000000..16ddbdede16c6dd75031345416d9505e8c874561 GIT binary patch literal 805 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(-uw}2VJ1}Qw{XwJ&Oz|`;Q;uzw= z`!>umBiK=(_H*yiYYJjqTw$!9UAN?vlsM*fEf?eOy3{NZGU3*j2S=m#PH}Mk@a*8N zpexQR+h4i1#J%;^S|qNWYwy)B=hEslSuJf2=gpM=-#2^u`b}y*f9~A5ec#icoj=DO z^|-#D;p*!LESt^ko9D&49;gKKO%x{(Cwix`~ zCZV^k=YqO-c<`4PvD-bxVlRVMai0v1eKE~^NBUgvC)^dY=R7(+ZQZgLDq`;^u{rLE zjgnY&|JRSqUEVF)i*8@3-PnD4^Mo0XJpXc>mAwAO~8ToJz0P)$8>&`J9pfoCe894*Gg>fp1L`AiE5nivve*U%jkR07yge>FOuJlYvNEv{y+&@nDl_Zl`~06jzHaEQ$mm<`S(IM7uI31r*GFf|?OXk; z@5X+TTwVOMUh~2C#K097qi+Ulv@rFUt-Pki?7_4!ogs0J)M|EyWCrEbXRkAhj@?j? zVicI*G>1X+2)9CG1+$alTn0sftl$n)Rv8xctGYSdyE9k0t}|}n+*or)En?mcv(&G1 z&oy*xkF&{l=&&ez%E}@7oyp_KT!xhu+7IL(F$B!6)A#?7Zy@!EG n%>FCnd!Hx8cR%0jr+=B(OxiWwQD+S(02w@8{an^LB{Ts53QvM6 delta 350 zcmbQvJeyguGr-TCmrII^fq{Y7)59eQNUMM_2OE%l$S`BZL`9E!l?BWUEI>XZRF*-D z@9`fXm(|n7F(iWX?e&Aa%?3QI7nbO-M^SV@tu za8Y}&LE*ZdNsW7WDqemPXqx~0XV;Hi>+awCtq{AqbGJuxW8}1_t=Tfi)f+Bton>M8 zqW-ez<;aCc7Sylx`OCN2Y2~FpquiM<%WnMA`(F5>+ZE|wNkFWyaVs*O5&F_h#Z!JxYK&mB`*Kn5?!FGOLSXPPc)I$ztaD0e0szE@i>&|v diff --git a/app/src/main/res/drawable-xxhdpi/download_dialog_status_collection_gray.png b/app/src/main/res/drawable-xxhdpi/download_dialog_status_collection_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..4290dd16e331c500ba5328d11ca1a6fae3ac7b4c GIT binary patch literal 411 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 - + - - \ No newline at end of file diff --git a/app/src/main/res/drawable/download_dialog_item_background.xml b/app/src/main/res/drawable/download_dialog_item_background.xml index cd2e6c0ce9..3de1c30b1d 100644 --- a/app/src/main/res/drawable/download_dialog_item_background.xml +++ b/app/src/main/res/drawable/download_dialog_item_background.xml @@ -1,12 +1,8 @@ - + - - \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_download.xml b/app/src/main/res/layout/dialog_download.xml index 18554ae04a..bf30132c74 100644 --- a/app/src/main/res/layout/dialog_download.xml +++ b/app/src/main/res/layout/dialog_download.xml @@ -1,22 +1,24 @@ - + - + tools:text="版本说明" + tools:visibility="visible" /> + app:layout_constraintTop_toBottomOf="@id/drag_close"> + android:paddingLeft="12dp" + android:paddingRight="12dp" /> + app:layout_constraintTop_toBottomOf="@id/drag_close" /> diff --git a/app/src/main/res/layout/download_dialog_installed_item.xml b/app/src/main/res/layout/download_dialog_installed_item.xml index 608c38f4c2..41e760a7cc 100644 --- a/app/src/main/res/layout/download_dialog_installed_item.xml +++ b/app/src/main/res/layout/download_dialog_installed_item.xml @@ -18,9 +18,9 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginLeft="3dp" - android:layout_marginRight="3dp" - android:layout_marginBottom="6dp" + android:layout_marginLeft="4dp" + android:layout_marginRight="4dp" + android:layout_marginBottom="8dp" android:background="@drawable/download_dialog_item_background" android:orientation="vertical"> @@ -52,13 +52,15 @@ app:layout_constraintTop_toTopOf="parent" fresco:placeholderImage="@drawable/download_dialog_game_icon_placeholder" fresco:placeholderImageScaleType="fitXY" - fresco:roundedCornerRadius="8dp" /> + fresco:roundedCornerRadius="4dp" + fresco:roundingBorderColor="@color/black_alpha_10" + fresco:roundingBorderWidth="0.5dp" /> + + - + android:layout_marginLeft="4dp" + android:layout_marginRight="4dp" + android:layout_marginBottom="8dp"> - - - - - + android:background="@drawable/download_dialog_item_background" + android:orientation="vertical"> - - - - - - - - + android:layout_height="0dp" + android:max="100" + android:progress="50" + android:progressDrawable="@drawable/download_dialog_item_progress" + android:visibility="gone" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:visibility="visible" /> + + + android:id="@+id/name" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginLeft="8dp" + android:includeFontPadding="false" + android:singleLine="true" + android:text="@{apk.getPlatformName}" + android:textColor="@color/text_333333" + android:textSize="12sp" + app:layout_constraintBottom_toTopOf="@id/remark" + app:layout_constraintLeft_toRightOf="@id/icon" + app:layout_constraintRight_toLeftOf="@id/download_status_icon" + app:layout_constraintTop_toTopOf="@id/icon" + app:layout_constraintVertical_chainStyle="packed" + tools:text="九游版" /> - - + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/download_dialog_link_item.xml b/app/src/main/res/layout/download_dialog_link_item.xml index 87145fecff..c9b1aac529 100644 --- a/app/src/main/res/layout/download_dialog_link_item.xml +++ b/app/src/main/res/layout/download_dialog_link_item.xml @@ -21,6 +21,8 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="36dp" + android:layout_marginLeft="4dp" + android:layout_marginRight="4dp" android:orientation="vertical"> + android:paddingLeft="8dp" + android:paddingRight="8dp">