From 52783ccefc2c9813970a49e9d106c9c79ff992f1 Mon Sep 17 00:00:00 2001 From: chenjuntao Date: Wed, 31 Oct 2018 02:07:55 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=861=E3=80=8117=20h?= =?UTF-8?q?ttps://gitlab.ghzhushou.com/pm/halo-app-issues/issues/384?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gamecenter/gamedetail/desc/DescAdapter.kt | 16 +-- .../desc/GameDetailBasicInfoAdapter.java | 125 ++++++++++++++++++ .../main/res/drawable-xhdpi/ic_arrow_down.png | Bin 0 -> 238 bytes .../main/res/drawable-xhdpi/ic_arrow_up.png | Bin 0 -> 223 bytes .../res/drawable-xhdpi/kaifu_time_icon.png | Bin 1497 -> 1419 bytes .../main/res/layout/gamedetail_item_intro.xml | 9 +- .../res/layout/gamedetail_item_plugin.xml | 6 +- .../layout/gamedetail_item_update_content.xml | 6 +- .../com/m7/imkfsdk/chat/ChatActivity.java | 7 +- 9 files changed, 144 insertions(+), 25 deletions(-) create mode 100644 app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailBasicInfoAdapter.java create mode 100644 app/src/main/res/drawable-xhdpi/ic_arrow_down.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_arrow_up.png diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt index 7b777de4ae..569f8fb49c 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt @@ -239,11 +239,11 @@ class DescAdapter(context: Context, viewHolder.binding.expandRl.setOnClickListener { if (viewHolder.binding.updateTv.maxLines == 5) { viewHolder.binding.updateTv.maxLines = 100 - viewHolder.binding.expandIv.setImageResource(R.drawable.ic_category_arrow_up) + viewHolder.binding.expandIv.setImageResource(R.drawable.ic_arrow_up) MtaHelper.onEvent("游戏详情", "展开更新内容", gameName) } else { viewHolder.binding.updateTv.maxLines = 5 - viewHolder.binding.expandIv.setImageResource(R.drawable.ic_category_arrow_down) + viewHolder.binding.expandIv.setImageResource(R.drawable.ic_arrow_down) MtaHelper.onEvent("游戏详情", "收起更新内容", gameName) } notifyItemChanged(viewHolder.adapterPosition) @@ -260,7 +260,7 @@ class DescAdapter(context: Context, val layoutManager = GridLayoutManager(mContext, 3) layoutManager.spanSizeLookup = object : GridLayoutManager.SpanSizeLookup() { override fun getSpanSize(position: Int): Int { - return if (!TextUtils.isEmpty(tips!!.content)) { + return if (tips!!.title != null) { if (position == 0) 3 else 1 } else { 1 @@ -274,7 +274,7 @@ class DescAdapter(context: Context, viewHolder.gameDetailPluginRv.layoutManager = layoutManager viewHolder.gamedetailPluginExpandIv.visibility = View.GONE - viewHolder.gameDetailPluginRv.adapter = GameDetailPluginAdapter(tag, tips, false, mContext) + viewHolder.gameDetailPluginRv.adapter = GameDetailBasicInfoAdapter(tag, tips, false, mContext) } private fun initPluginViewHolder(viewHolder: GameDetailPluginViewHolder, descItemData: DescItemData) { @@ -301,10 +301,10 @@ class DescAdapter(context: Context, if (mIsPluginExpanded) { viewHolder.gameDetailPluginRv.layoutManager = linearLayoutManager - viewHolder.gamedetailPluginExpandIv.setImageResource(R.drawable.ic_category_arrow_up) + viewHolder.gamedetailPluginExpandIv.setImageResource(R.drawable.ic_arrow_up) } else { viewHolder.gameDetailPluginRv.layoutManager = layoutManager - viewHolder.gamedetailPluginExpandIv.setImageResource(R.drawable.ic_category_arrow_down) + viewHolder.gamedetailPluginExpandIv.setImageResource(R.drawable.ic_arrow_down) } viewHolder.gameDetailPluginRv.adapter = GameDetailPluginAdapter(tag, tips, mIsPluginExpanded, mContext) viewHolder.gamedetailPluginOpen.setOnClickListener { _ -> @@ -364,11 +364,11 @@ class DescAdapter(context: Context, mIsIntroExpanded = !mIsIntroExpanded if (mIsIntroExpanded) { viewHolder.introContent.maxLines = 100 - viewHolder.expandIv.setImageResource(R.drawable.ic_category_arrow_up) + viewHolder.expandIv.setImageResource(R.drawable.ic_arrow_up) DataUtils.onMtaEvent(mContext, "游戏详情", "展开游戏介绍", gameName) } else { viewHolder.introContent.maxLines = 3 - viewHolder.expandIv.setImageResource(R.drawable.ic_category_arrow_down) + viewHolder.expandIv.setImageResource(R.drawable.ic_arrow_down) DataUtils.onMtaEvent(mContext, "游戏详情", "收起游戏介绍", gameName) } notifyItemChanged(viewHolder.adapterPosition) diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailBasicInfoAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailBasicInfoAdapter.java new file mode 100644 index 0000000000..4e6f3d14e9 --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailBasicInfoAdapter.java @@ -0,0 +1,125 @@ +package com.gh.gamecenter.gamedetail.desc; + +import android.content.Context; +import android.graphics.Color; +import android.support.v7.widget.RecyclerView; +import android.text.TextUtils; +import android.view.Gravity; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; + +import com.gh.common.util.ImageUtils; +import com.gh.gamecenter.R; +import com.gh.gamecenter.entity.TagEntity; +import com.gh.gamecenter.entity.TipsEntity; +import com.gh.gamecenter.entity.TitleEntity; +import com.lightgame.adapter.BaseRecyclerAdapter; + +import java.util.ArrayList; + +/** + * Created by khy on 2017/3/27. + */ +public class GameDetailBasicInfoAdapter extends BaseRecyclerAdapter { + + public static final int POSITION_LEFT = 0; + public static final int POSITION_MIDDLE = 1; + public static final int POSITION_RIGHT = 2; + public static final int LABEL_COLUMN_LIMIT = 3; + private ArrayList tags; + private TipsEntity tips; + private boolean isOpen; + + public GameDetailBasicInfoAdapter(ArrayList tags, TipsEntity tips, boolean isOpen, Context context) { + super(context); + this.tags = tags; + this.tips = tips; + this.isOpen = isOpen; + } + + @Override + public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = mLayoutInflater.inflate(R.layout.gamedetail_plugin_item, parent, false); + LinearLayout hintLl = view.findViewById(R.id.gamedetail_ll_hint); + if (tips.getTitle() != null) { + viewType--; + } + if (!isOpen) { + switch (viewType % LABEL_COLUMN_LIMIT) { + case POSITION_LEFT: + hintLl.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT); + break; + case POSITION_MIDDLE: + hintLl.setGravity(Gravity.CENTER); + break; + case POSITION_RIGHT: + hintLl.setGravity(Gravity.CENTER_VERTICAL | Gravity.RIGHT); + } + } + + return new GameDetailPluginRvViewHolder(view); + } + + @Override + public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { + if (holder instanceof GameDetailPluginRvViewHolder) { + GameDetailPluginRvViewHolder viewHolder = (GameDetailPluginRvViewHolder) holder; + int index; + if ((tips.getTitle() != null)) { + index = 1; + } else { + index = 0; + } + + if (tips.getTitle() != null && position == 0) { + TitleEntity title = tips.getTitle(); + if (!TextUtils.isEmpty(tips.getIcon())) { + viewHolder.hintDv.setVisibility(View.VISIBLE); + ImageUtils.displayIcon(viewHolder.hintDv, tips.getIcon()); + } else { + viewHolder.hintDv.setVisibility(View.GONE); + } + if (!TextUtils.isEmpty(tips.getContent())) { + viewHolder.hintContentTv.setVisibility(View.VISIBLE); + viewHolder.hintContentTv.setText(tips.getContent()); + } else { + viewHolder.hintContentTv.setVisibility(View.GONE); + } + viewHolder.hintTv.setText(title.getValue()); + if (!TextUtils.isEmpty(title.getColor())) { + viewHolder.hintTv.setTextColor(Color.parseColor(title.getColor())); + } + } else { + TagEntity tagEntity = tags.get(position - index); + if (!TextUtils.isEmpty(tagEntity.getIcon())) { + viewHolder.hintDv.setVisibility(View.VISIBLE); + ImageUtils.displayIcon(viewHolder.hintDv, tagEntity.getIcon()); + } else { + viewHolder.hintDv.setVisibility(View.GONE); + } + viewHolder.hintTv.setText(tagEntity.getName()); + viewHolder.hintTv.setTextColor(Color.parseColor(tagEntity.getColor())); + if (isOpen) { + viewHolder.hintContentTv.setVisibility(View.VISIBLE); + viewHolder.hintContentTv.setText(tagEntity.getDes()); + } else { + viewHolder.hintContentTv.setVisibility(View.GONE); + } + } + } + } + + @Override + public int getItemViewType(int position) { + return position; + } + + @Override + public int getItemCount() { + if (tips.getTitle() != null) { + return tags.size() + 1; + } + return tags.size(); + } +} diff --git a/app/src/main/res/drawable-xhdpi/ic_arrow_down.png b/app/src/main/res/drawable-xhdpi/ic_arrow_down.png new file mode 100644 index 0000000000000000000000000000000000000000..eb12cc39144db9246cd2270321c33470839c7d58 GIT binary patch literal 238 zcmVb;z0EOYN7F}4FxCJBX!p6`6eA`3_b;v1l3l^ABr7jE>3W@EKx4vKcKANWKam5ig zg^Mv}w{6?5al&W79XtGBRSFlP9k#d!e51$LTzGP;W9T#dHhc;lg8z-@ps(O+JQp2NERLtq-8*ugAGU)@!p@ZQBj*o!PLds)YaVF#l^(T zz|hdu!qL^)&DGTr$TD`eFmy7RoWmpoQ{;+M(F!I5m?9^fihdwWa>l91gxRV7jJ$Ie z0|VnvPZ!6Kid#pfZS-~u6gl?w>Lmd)kF6}dO&q#H%e?vcdLJdYICa-MD{Qe0`QMoA z&3oy_2exPtc5z1*$5}B-F^d*{{5to?y|;hTF$*u3)is2>nr0!Sry)X`gKix#sxzeyE*c zdS-9NGnL!cFMN%T&kBFOXW>a72I+t(_QyM#)|Co>@icBbIipIUKhWs(;lf8nO>NN! zFPfjPkKomvz#8<-&~KV<{jn7uKF9tsZu+uRYPQ~S36`u|uI_E83=Usf-(GP2ZT8ec zrl&#td%f%vrq$kixJYJ8%g%g^(KRYtpez4+`M2NMEO$2U zk!xSE$9R8V+vBVKzcpI8XGm8b5^FhjGT?wS%nCkvjk7m{2|Awe@U0 ztltfeziIU@JHl(`wp4I%irjo_;_jgaf#NO r^=Dt%2WtORTlYp;M)KGXp#%ms|4%Gu1OBf8CRPSdS3j3^P6ERLtq@_TZgAGWo^zu2kQBj*o!Ntwg!pO|c(%8h= z!qCvw!otYF$;sT+(aq4%$<4yjVsZ|X3`~(DPDLx23}A}PaVq+OFv$X^A`@n(`Ya7M zH3kMIcTX3`kcwMdrbT;)1d1F#FL|`2*Uhs`f4}$NyS>-q zs@okCxer=i;MQvhUeK7k|6uwDHlL@Tf7Wkz?3~8>S;7C?L8A)BxTerLj{8PizIxJg_Kj4mQ|8q|37L

$j?TH8G+x6{~o^rqK#~Xf$ z>9XsxccxECvWY+4W0WvADb=*&@4?5?8NLPobJ+f$uWNYB8EVtLwI_Xl{XW+WZj(yB zUtD#czH>=%9R84TW`=ND&y?@B?iWjVYnDxNnsaB$s(QhRJYRjaB{bi}_$Hm(-QTJJ~gE-Hqc%YR!7YCco=TPP!yx8TdTV>#pE28}CWFO76c!YWG|| znHa6S`MA#GnM!@>MV74BEW);(*|_7hr|gd9m%=uEl-hq=?e`O_igmyEy?Sc$9FOg) zICzopr0OJ}((*OVf diff --git a/app/src/main/res/layout/gamedetail_item_intro.xml b/app/src/main/res/layout/gamedetail_item_intro.xml index 70fa72513d..e16adf3b59 100644 --- a/app/src/main/res/layout/gamedetail_item_intro.xml +++ b/app/src/main/res/layout/gamedetail_item_intro.xml @@ -47,14 +47,13 @@ android:layout_width = "match_parent" android:layout_height = "wrap_content" android:gravity = "center" - android:paddingBottom = "2dp" - android:paddingTop = "12dp" > + android:paddingTop = "10dp" > + android:layout_width = "wrap_content" + android:layout_height = "wrap_content" + android:src = "@drawable/ic_arrow_down" /> \ No newline at end of file diff --git a/app/src/main/res/layout/gamedetail_item_plugin.xml b/app/src/main/res/layout/gamedetail_item_plugin.xml index 60d70f4db5..53e743c8c0 100644 --- a/app/src/main/res/layout/gamedetail_item_plugin.xml +++ b/app/src/main/res/layout/gamedetail_item_plugin.xml @@ -50,9 +50,9 @@ + android:layout_width = "wrap_content" + android:layout_height = "wrap_content" + android:src = "@drawable/ic_arrow_down" /> diff --git a/app/src/main/res/layout/gamedetail_item_update_content.xml b/app/src/main/res/layout/gamedetail_item_update_content.xml index 132bf39c39..7a6b14fe23 100644 --- a/app/src/main/res/layout/gamedetail_item_update_content.xml +++ b/app/src/main/res/layout/gamedetail_item_update_content.xml @@ -62,9 +62,9 @@ + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:src="@drawable/ic_arrow_down" /> diff --git a/libraries/im/src/main/java/com/m7/imkfsdk/chat/ChatActivity.java b/libraries/im/src/main/java/com/m7/imkfsdk/chat/ChatActivity.java index 098ca689ab..88ff5ec38b 100644 --- a/libraries/im/src/main/java/com/m7/imkfsdk/chat/ChatActivity.java +++ b/libraries/im/src/main/java/com/m7/imkfsdk/chat/ChatActivity.java @@ -1595,12 +1595,7 @@ public class ChatActivity extends MyBaseActivity implements OnClickListener, } else { new AlertDialog.Builder(this).setTitle(R.string.warm_prompt) .setMessage(NullUtil.checkNull(globalSet.msg)) - .setPositiveButton(R.string.iknow, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - - } - }) + .setPositiveButton(R.string.iknow, (dialogInterface, i) -> finish()) .setCancelable(false) .create() .show(); From 94c3f0e4aabc447e3fc84ff56ea29a436561a5f1 Mon Sep 17 00:00:00 2001 From: chenjuntao Date: Wed, 31 Oct 2018 02:24:18 +0800 Subject: [PATCH 2/3] =?UTF-8?q?UI=20=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/gh/gamecenter/kaifu/KaiFuVpFragment.java | 6 ++++++ app/src/main/res/layout/gamedetail_item_intro.xml | 2 +- app/src/main/res/layout/gamedetail_item_plugin.xml | 4 ++-- app/src/main/res/layout/gamedetail_item_update_content.xml | 4 ++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuVpFragment.java b/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuVpFragment.java index 1af34612e1..4324937da0 100644 --- a/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuVpFragment.java +++ b/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuVpFragment.java @@ -11,6 +11,7 @@ import android.text.TextUtils; import android.util.DisplayMetrics; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; @@ -50,6 +51,8 @@ public class KaiFuVpFragment extends BaseFragment { RecyclerView mRecyclerView; @BindView(R.id.kaifu_item_time_tv) TextView mKaifuItemTimeTv; + @BindView(R.id.kaifu_item_header) + ImageView mKaifuItemHeaderIv; @BindView(R.id.kaifu_item_time) LinearLayout mKaiFuTimeLl; @BindView(R.id.kaifu_pb_loading) @@ -143,6 +146,7 @@ public class KaiFuVpFragment extends BaseFragment { if (fixedTopHint) { mKaifuItemTimeTv.setText("热门开服"); + mKaifuItemHeaderIv.setImageResource(R.drawable.ic_kaifu_hot); } else { Long timeHint = timeGameEntity.getKaifuTimeHint(); SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd (EEEE) HH:mm", Locale.CHINA); @@ -150,10 +154,12 @@ public class KaiFuVpFragment extends BaseFragment { KaiFuCalendarEntity serverEntity = timeGameEntity.getServerEntity(); if (serverEntity != null) { mKaifuItemTimeTv.setText(dateFm.format(serverEntity.getTime() * 1000)); + mKaifuItemHeaderIv.setImageResource(R.drawable.kaifu_time_icon); mKaifuItemTimeTv.setTag(serverEntity.getTime()); } } else { mKaifuItemTimeTv.setText(dateFm.format(timeHint * 1000)); + mKaifuItemHeaderIv.setImageResource(R.drawable.kaifu_time_icon); mKaifuItemTimeTv.setTag(timeHint); } } diff --git a/app/src/main/res/layout/gamedetail_item_intro.xml b/app/src/main/res/layout/gamedetail_item_intro.xml index e16adf3b59..376fb7f9ce 100644 --- a/app/src/main/res/layout/gamedetail_item_intro.xml +++ b/app/src/main/res/layout/gamedetail_item_intro.xml @@ -5,7 +5,7 @@ android:layout_marginTop = "8dp" android:background = "@android:color/white" android:orientation = "vertical" - android:paddingBottom = "15dp" + android:paddingBottom = "11dp" android:paddingLeft = "18dp" android:paddingRight = "18dp" android:paddingTop = "12dp" > diff --git a/app/src/main/res/layout/gamedetail_item_plugin.xml b/app/src/main/res/layout/gamedetail_item_plugin.xml index 53e743c8c0..c7d6b2f9fd 100644 --- a/app/src/main/res/layout/gamedetail_item_plugin.xml +++ b/app/src/main/res/layout/gamedetail_item_plugin.xml @@ -45,8 +45,8 @@ android:layout_width = "match_parent" android:layout_height = "wrap_content" android:gravity = "center" - android:paddingBottom = "2dp" - android:paddingTop = "12dp" > + android:paddingBottom = "4dp" + android:paddingTop = "11dp" > + android:paddingBottom="11dp"> Date: Wed, 31 Oct 2018 02:26:45 +0800 Subject: [PATCH 3/3] =?UTF-8?q?UI=20=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/res/drawable-xhdpi/ic_kaifu_hot.png | Bin 506 -> 518 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/app/src/main/res/drawable-xhdpi/ic_kaifu_hot.png b/app/src/main/res/drawable-xhdpi/ic_kaifu_hot.png index 2de1bef5c49b798512c86b04a8a6c98058403372..20996d3834d863f6ed291233dc57bfd0de4ed818 100644 GIT binary patch delta 492 zcmV*`Mi5l=Af<^ER8(+8)lwf0F z6F~*F5L2p%611=okraZxXeTI&h&CdqrDI`XrJ#R+q_|2!L_(s)-sSer^=@-)e$CGF zJiFf+o_XfksnqLreY69oa2*TX!5CxiM@c^_e&ZVMqEg`f!hhgZ&F3_(mI>aR8Q((R z+!Y1y%Z#hIhoLgSQ(g9UT+BK`2>;~1ANUX^a{MzG&e-ci2%#vrirfE*ZNizB5o2s% zHiWP=SugNq?CBAo?y^U4p&$4FW_v(kKSne5C}vu#&I513GX-{Dv-Cm;BN)R*oXi8S z!7FSi0HwXLM}ITE(@@FuiebFQ!Gch@i5vKc-A&&j)@4_GXPHpaK5``kCC$QQE00HT zewk3%t1}Ht{%WmO8^TMh9RNHbzvKN(a12`qfcDaOg5xDaVJwm6scfxIboSfQRHSVV zq8|yqtpNB-g7+%`ew*M)$K63fX?A?jPYH|(Ot(cuoI8u+|zP2kNemaW9+D|N{>t7I8I;^+qD00 i4SdEMJdQEuo`b)ig;L&N#hdQ{0000_# zB7%r0f{2TQ=ukmdK?PSAbrT9MQk@KladB~0&_xFax1x)GK&1{zF)vN}(r4apxjE}&^vEiQAX!0RD^ z(}1}lfFA}t#rqba^U~x^z;9eo^%z;bzQ{+zQdhjf#aaJ^{=x}q@~H@h`?4YZZ2;&3 zW~9lBB}ciBA7Kjf4S|cY!`~xKUKRtLip?KoZ;45qMpyPQoXF!}@fOc9Crv(7W&8^> Wn@4{FDyzf*0000