From bc2324000342044ffd84e227eff9e48af587fe24 Mon Sep 17 00:00:00 2001 From: jack <1484288157@qq.com> Date: Sat, 4 Dec 2021 14:21:47 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=85=89=E7=8E=AF=E5=8A=A9=E6=89=8BV5?= =?UTF-8?q?.5.0=E3=80=91=E6=B8=B8=E6=88=8F=E5=8D=95=20UI=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D(7,8)=20https://git.shanqu.cc/pm/halo-app-issues/-/iss?= =?UTF-8?q?ues/1647?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gh/common/util/EntranceUtils.java | 1 + .../gh/common/view/CropImageBorderView.java | 2 +- .../com/gh/common/view/CropImageCustom.java | 10 +++ .../com/gh/gamecenter/CropImageActivity.java | 22 +++++-- .../collection/GamesCollectionFragment.kt | 3 +- .../choose/AddSearchGameFragment.kt | 2 + .../choose/ChooseGamesFragment.kt | 18 +++--- .../publish/GameCollectionEditActivity.kt | 11 ++-- .../gh/gamecenter/qa/editor/GameFragment.kt | 6 +- .../ic_game_collection_upload.png | Bin 0 -> 2333 bytes .../ic_game_collection_upload.webp | Bin 1290 -> 0 bytes .../drawable/game_collection_poster_mask.xml | 5 +- .../layout/activity_game_collection_edit.xml | 34 +++++++--- .../fragment_my_game_collection_list.xml | 7 +-- .../res/layout/item_my_game_collection.xml | 9 +++ ...yout_game_collection_crop_image_assist.xml | 58 ++++++++++++++++++ 16 files changed, 153 insertions(+), 35 deletions(-) create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_game_collection_upload.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/ic_game_collection_upload.webp create mode 100644 app/src/main/res/layout/layout_game_collection_crop_image_assist.xml diff --git a/app/src/main/java/com/gh/common/util/EntranceUtils.java b/app/src/main/java/com/gh/common/util/EntranceUtils.java index cdb3660999..c69011a99c 100644 --- a/app/src/main/java/com/gh/common/util/EntranceUtils.java +++ b/app/src/main/java/com/gh/common/util/EntranceUtils.java @@ -257,6 +257,7 @@ public class EntranceUtils { public static final String KEY_FORUM_NAME = "forum_name";//版块名称 public static final String KEY_GAME_COLLECTION_TITLE = "game_collection_title";//游戏单标题 public static final String KEY_GAME_COLLECTION_ID = "game_collection_id";//游戏单ID + public static final String KEY_ASSIST_RES = "assist_res"; public static void jumpActivity(Context context, Bundle bundle) { bundle.putBoolean(KEY_REQUIRE_REDIRECT, true); diff --git a/app/src/main/java/com/gh/common/view/CropImageBorderView.java b/app/src/main/java/com/gh/common/view/CropImageBorderView.java index 5610526628..36a60809e6 100644 --- a/app/src/main/java/com/gh/common/view/CropImageBorderView.java +++ b/app/src/main/java/com/gh/common/view/CropImageBorderView.java @@ -58,7 +58,7 @@ public class CropImageBorderView extends View { mPaint.setStyle(Style.STROKE); mPaint.setAntiAlias(true); mPaint.setColor(Color.WHITE); - mPaint.setStrokeWidth(0.5F); + mPaint.setStrokeWidth(DisplayUtils.dip2px(0.5f)); // 绘制边框 mAnglePaint = new Paint(); diff --git a/app/src/main/java/com/gh/common/view/CropImageCustom.java b/app/src/main/java/com/gh/common/view/CropImageCustom.java index 6f71eef96b..33c1672796 100644 --- a/app/src/main/java/com/gh/common/view/CropImageCustom.java +++ b/app/src/main/java/com/gh/common/view/CropImageCustom.java @@ -5,9 +5,11 @@ import android.content.res.TypedArray; import android.graphics.Bitmap; import android.util.AttributeSet; import android.util.TypedValue; +import android.view.View; import android.widget.ImageView; import android.widget.RelativeLayout; +import com.gh.common.util.DisplayUtils; import com.gh.gamecenter.R; import java.io.BufferedOutputStream; @@ -54,6 +56,14 @@ public class CropImageCustom extends RelativeLayout { mClipImageView.setHorizontalPadding(mHorizontalPadding, mRatio); } + public void addAssistView(View view) { + int width = DisplayUtils.getScreenWidth() - 2 * mHorizontalPadding; + int height = (int) (width * mRatio); + RelativeLayout.LayoutParams lp = new LayoutParams(width, height); + lp.addRule(RelativeLayout.CENTER_IN_PARENT); + this.addView(view, lp); + } + /** * 裁切图片 * diff --git a/app/src/main/java/com/gh/gamecenter/CropImageActivity.java b/app/src/main/java/com/gh/gamecenter/CropImageActivity.java index 5df6096cd0..380aaf493b 100644 --- a/app/src/main/java/com/gh/gamecenter/CropImageActivity.java +++ b/app/src/main/java/com/gh/gamecenter/CropImageActivity.java @@ -5,10 +5,10 @@ import android.content.Intent; import android.graphics.Bitmap; import android.graphics.Color; import android.os.Bundle; +import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import android.widget.TextView; import com.gh.base.ToolBarActivity; @@ -20,10 +20,8 @@ import com.gh.common.view.CropImageCustom; import java.io.File; import java.lang.ref.SoftReference; +import androidx.annotation.LayoutRes; import androidx.annotation.NonNull; -import androidx.core.view.OnApplyWindowInsetsListener; -import androidx.core.view.ViewCompat; -import androidx.core.view.WindowInsetsCompat; import butterknife.BindView; @@ -47,11 +45,17 @@ public class CropImageActivity extends ToolBarActivity { @NonNull public static Intent getIntent(Context context, String picturePath, float cropRatio, boolean isBlackTheme, String entrance) { + return getIntent(context, picturePath, cropRatio, isBlackTheme, -1, entrance); + } + + @NonNull + public static Intent getIntent(Context context, String picturePath, float cropRatio, boolean isBlackTheme, @LayoutRes int assistRes, String entrance) { Intent intent = new Intent(context, CropImageActivity.class); intent.putExtra(EntranceUtils.KEY_PATH, picturePath); intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance); intent.putExtra(EntranceUtils.KEY_IMAGE_CROP_RATIO, cropRatio); intent.putExtra(EntranceUtils.KEY_BLACK_THEME, isBlackTheme); + intent.putExtra(EntranceUtils.KEY_ASSIST_RES, assistRes); return intent; } @@ -77,6 +81,12 @@ public class CropImageActivity extends ToolBarActivity { float ratio = getIntent().getFloatExtra(EntranceUtils.KEY_IMAGE_CROP_RATIO, 1F); mCropImageCustom.setCropRatio(ratio); + int assistRes = getIntent().getIntExtra(EntranceUtils.KEY_ASSIST_RES, -1); + if (assistRes > 0) { + View view = LayoutInflater.from(this).inflate(assistRes, null, false); + addAssistView(view); + } + DisplayUtils.setLightStatusBar(this, !mBlackTheme); DisplayUtils.setStatusBarColor(this, R.color.transparent, !mBlackTheme); } @@ -100,6 +110,10 @@ public class CropImageActivity extends ToolBarActivity { return super.onMenuItemClick(item); } + public void addAssistView(View view) { + mCropImageCustom.addAssistView(view); + } + @Override protected void onDestroy() { super.onDestroy(); diff --git a/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionFragment.kt b/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionFragment.kt index dd34e52a8b..023d262eac 100644 --- a/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionFragment.kt @@ -24,7 +24,8 @@ class GamesCollectionFragment : ListFragmentPx-*GWV{RCr$Pon4O;WfaHHnRdZl)^!)cw$qvQ$^^p&2H&_rV9o^!X3pVi zNoV^!=l}opoHJ);x(M=*wF1aGdI=r`0Ok+~00IDW1(=5~89)FCM*$)la^2Z29(d0a zc^d(60}$ze_%H&D5|I|pN<7{L5j_I91w;#g=mOARh}s_-Xg}!s`iqFT9EK8IWdLQm z;}l*YqPGBPClQQXkX70Spin4emW!p6 zM6fN$0&;AB6+nawL+RAsOeRxkXXUm4uy<|F9n;iLx7t}t0BqacPXNb=$QP7og)h5N3Lv5~?to$FA2w5@ zsj(}ceE3|Y4hpg9iYxZ0B1!)k~K7H4t1djokLy=H?CH(;rh;5z7GB_Vg}~yfZw)mnfA28fv=@Bl~3;0LyYu6VR(74Ic#%@C(z__h2Rc z&&kk-kNGQOVpuYA`Zzky%+``u{E=7q5^ed6P)k3DmNWe>dEOC`gr5SaY42g)c1{Ap zoBYC;hymdg=56;95Irq&FjN5XSIk?k4L~`D;Y-K>w#oqWKr|+5FjN5XCR(;zl7}`J zn!j?#kcWB8A)et&)a7}A0Kgjr0f4vvk^z|e&l3Pd_!B`pkV?UK3V>1xUL^325y9i! zfM8bw5b)y2$m*BZu3bA{Yxec)*B@D0y7M&wZQ%p~D*&3AUp1T~1Z)8CGoLF2EC6WN ze2x$#9)O_cbAuq!0CZ|TCkPS?K)2>|fgq6pgk?Sl2oeWC*ybl4fj6m_8^;=epyn?w-T7w9 z)LUNcu`KuJ;o(&;bAceX0CZwL06jZp=30K^nYu#?0e|5FK`a62)O?lJ+X0|_uN)Hy zVh2Ds<_7_Q3k0zOpj-2U0#JeA;_&dQmy+5O#0G#c%`a^Sj9aRUncEL1Y2wh52CskhF3TNdS6fepmn`34#a$ zfLGUytbWRGX0J?8^LRDhRTDnH*?sl(ZhCfKGY>+n#>iBkvQx*!uZ;gWPENNHp_?mlVP=4!5X{WX zWbfQ9y8SfRZ>`7ykkUri=W=8JHQRVM=Jz54)I!kck+a%3W@l&h+jo{7KU4bodgK7m zPbqzqi0dPZ(jfiSph`&7ijcJ(;T~2`_}5d{e^|a-w41AdC5q>9lH{s+(5*C z5b$6+jo)jUrro_;dV$FMfSdVcEx4WcM*8D8fXxX20}wq*O9}u{a$^8{5da1tdX$z# z%XUjdq(x~{vX}lSfQTOEZFe4s#`?3QtP&{&5O1myU`6ej^+<`7?9JFJ16%^4r;{D0 zMAuLO#9uLQJ12qQO_7M90tlzja;D!U&pW~}eD)!uroD%bGqbhi6@O%}215Z-TKYL8 zq9NOH=ZIj0p$2S2Mua6Jr;nHKju1azE{4s1h3z;{ej|40dN z4*+#Nz_zC^6VN8M$}k8V0k0TFcC)$;a328bKY7>P0VO)iKnK1drf}z!uAi$4@W4It zmhF5?1l#y3l-$S>;eu)8w%11Z004zTA+ua8T?*rSd6O$;{326d!abBuJ(I~~3M~Ox zIW3&oOi=tuhC}f)y3vl+&<7#C)i5S6*T3HMF)7P(_W;7@MAY(8s$@u%+$a!{fZ#RL z)K52rqgCj(?d~UlV*)`u0a4~7zyZV1KWr9(@27hu6VP!f2l0YHrG23C`F_Jse$%sn zMqyTZf-}+>#sdP?@FApkH>&w<_W<<=R?ZGi$|+*BAyB7!L+RAs`fk7D5>Wq(YFLCN zI4TpvXn~+6e3XKNwL_kEcIev!GrGpPisAhCe|=jl z{W(Y97+yv6AA%c6illVrG9KR-!fyzT-hA=A-5)J0?6=R0d9M*JR|d<2WsK$E!V9YD z+OqdCt%6_w#U#)VPOX*6pyjv(x@!|c*Rj!|NMV%R>||n2BsMB0=M+ELJ(wV3cWA9m z5|QUwnJ8-Oo2)(n)r-lZ`kHAGMu5iJgncvuLz6~eY0{Q74knF8&&2iSCT_kkaf@dY z_q;Q4+r5e7Sj16&?RXttF?=n$o^AqAo=nyGgj=6%BU5c;s*Oywk*U@*wCWp5^$wl- zhe|IQ8jUXU3a;xfK%wz{uD^m$LQTx-FQMo(wOC}DTr?t0FP`!wP{$GxsAs8U-!DtQ zt7I~-Z|P)R=N!qn-g%O3-x7}&;Yz%BTg%3Ty2N~mcVgLSQ3I|T zBJEf<#sR=FcOuQ`%=#_>w~lWlcWS-gT0Y(;?Z@%j@pAmBzs~$cBJ1B@xjkRUWKGUf zOxDLk0PZ(M*Za8DnQZLWj$;wWzKCOM;<6zQggr!Ma!qB7* z0*wz7MkBz~gb{%1rO2WR0DY6y=iJIfQ5&tbNupH`UCAGQbR&b&$>f}f4rX#akr<4` zt|WCDpeyxYbRC11(38>%PJNM|!1RM(H5IrM(<)q~F326Wo=)c=K zoBFrWi_i?6zg*!5X+6-KGq|=S9pJ|^{dfMa_rEb8l7Dgb0R2Jq0QCX-ee41HDjUEZ zN=EDjaMXB#>VBE{%q^JLIh-pSeeBRTrF1^i1bnZ>ikP@4fNfw0B;?o}2mEID7r`8{ zFrq&PmuOt8A{5{8^oE66LbVfAg>ia#QOPxipJJduS+a*+x>wjXdxYpRtrO2qiDL&feDrcIMeMIVgzD0Nc zjqDi^d+LVLmk!T=G<^BRd%YCHF>N#c+1}S*2~FO=n~jPTlfu!n#WEqqGgdgm3G0Yf zbJ7YyTSGDjW^h>vcws&R;rG0WDeHv*Cg)lFgH zHOBS~h*RQhLXWaRIGzRT3KX7>@&UOU3nDJbM0*pstg5kb&3brJ-W{S&`iUcYOyrGD z3hfyZ6YMf_UoLo0uKkY?!WhbUL3z^=_}8djcw&@nUed#a)^PHi0`H z4mwAb_`zK}%GQmchD?_IiV4?_C5s|C53t;k3)1O3Dw)GM40>gRnk8aB4-ldo$xERQ z + android:startColor="#33000000"/> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_game_collection_edit.xml b/app/src/main/res/layout/activity_game_collection_edit.xml index 99b77030e5..40c3334355 100644 --- a/app/src/main/res/layout/activity_game_collection_edit.xml +++ b/app/src/main/res/layout/activity_game_collection_edit.xml @@ -65,19 +65,35 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> - + app:layout_constraintTop_toTopOf="parent"> + + + + + diff --git a/app/src/main/res/layout/fragment_my_game_collection_list.xml b/app/src/main/res/layout/fragment_my_game_collection_list.xml index aaa8d28c1a..3fadd3a3fa 100644 --- a/app/src/main/res/layout/fragment_my_game_collection_list.xml +++ b/app/src/main/res/layout/fragment_my_game_collection_list.xml @@ -67,19 +67,18 @@ + android:paddingRight="16dp"> + + + + + + + + + + + + + + + + \ No newline at end of file