From 3ca7b7c9bd9f547496f8425b99d7d8c416e35dbd Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Wed, 31 Jul 2019 16:41:44 +0800 Subject: [PATCH] =?UTF-8?q?=20=E7=A4=BE=E5=8C=BA=E7=9B=B8=E5=85=B3UI?= =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/common/util/DialogUtils.java | 7 +++ .../qa/questions/edit/TagsSelectFragment.kt | 4 +- .../qa/search/hottest/HottestAdapter.kt | 10 +++- .../qa/search/question/QuestionAdapter.kt | 1 - .../res/layout/ask_search_question_item.xml | 13 +++-- app/src/main/res/layout/dialog_community.xml | 47 +++++++++++-------- 6 files changed, 50 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/com/gh/common/util/DialogUtils.java b/app/src/main/java/com/gh/common/util/DialogUtils.java index 76528759ba..5393b17fb5 100644 --- a/app/src/main/java/com/gh/common/util/DialogUtils.java +++ b/app/src/main/java/com/gh/common/util/DialogUtils.java @@ -880,6 +880,7 @@ public class DialogUtils { final Dialog dialog = new Dialog(context, R.style.GhAlertDialog); View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_community, null); + View contentContainer = contentView.findViewById(R.id.content_container); TextView titleTv = contentView.findViewById(R.id.title); TextView contentTitleTv = contentView.findViewById(R.id.content_title); TextView contentDesTv = contentView.findViewById(R.id.content_des); @@ -918,6 +919,12 @@ public class DialogUtils { // dialog.dismiss(); }); + contentContainer.setOnClickListener(v -> { + if (cmListener != null) { + cmListener.onConfirm(); + } + }); + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(contentView); dialog.show(); diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/TagsSelectFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/TagsSelectFragment.kt index 3022d77921..045fb5b47e 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/TagsSelectFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/TagsSelectFragment.kt @@ -134,7 +134,7 @@ class TagsSelectFragment : BaseFragment() { errorEntity?.code == 403066 -> { MtaHelper.onEvent("提交相似问题弹窗", UserManager.getInstance().community.name, "问题相似-出现弹窗提示") DialogUtils.showCommunityDialog(context, - "已有相似问题,\n去看看?", + "已有相似问题,去看看?", data?.questionTitle, data?.getFollowCount().toString() + " 关注 · " + data?.answerCount + " 回答", "继续提交", "去看看", @@ -151,7 +151,7 @@ class TagsSelectFragment : BaseFragment() { errorEntity?.code == 403067 -> { MtaHelper.onEvent("提交重复问题弹窗", UserManager.getInstance().community.name, "问题重复-出现弹窗提示") DialogUtils.showCommunityDialog(context, - "已有重复问题,\n无法提问", + "已有重复问题,无法提问", data?.questionTitle, data?.getFollowCount().toString() + " 关注 · " + data?.answerCount + " 回答", null, "去看看", null, diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/hottest/HottestAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/search/hottest/HottestAdapter.kt index d715ddf527..6949422de3 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/hottest/HottestAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/hottest/HottestAdapter.kt @@ -29,6 +29,10 @@ class HottestAdapter(context: Context, viewModel: NormalListViewModel) : BaseAskSearchAdapter(context, entrance, path, viewModel) { + override fun areItemsTheSame(oldItem: SearchHottestEntity?, newItem: SearchHottestEntity?): Boolean { + return oldItem == newItem + } + override fun getItemViewType(position: Int): Int { // 普通样式(包括answer) if (position == itemCount - 1) return ItemViewType.ITEM_FOOTER @@ -146,8 +150,10 @@ class HottestAdapter(context: Context, holder.itemView.setOnClickListener { skipSpecialColumn(entity.id) } } is AskSearchQuestionItemViewHolder -> { + val titleSpan = SpannableString(Html.fromHtml(replayKeyword(entity.title))) + setFirstLineMarginSpan(titleSpan) holder.binding.questionHintIcon.visibility = View.VISIBLE - holder.binding.questionsTitle.text = Html.fromHtml(replayKeyword(entity.title)) + holder.binding.questionsTitle.text = titleSpan holder.binding.questionsAnswerCount.text = (NumberUtils.transSimpleCount(entity.count.answer) + " 回答") holder.itemView.setOnClickListener { skipQuestionDetail(Questions(id = entity.id)) } } @@ -155,7 +161,7 @@ class HottestAdapter(context: Context, } private fun setFirstLineMarginSpan(span: SpannableString) { - span.setSpan(LeadingMarginSpan.Standard(DisplayUtils.dip2px(62F), 0), 0, span.length, 0) + span.setSpan(LeadingMarginSpan.Standard(DisplayUtils.dip2px(60F), 0), 0, span.length, 0) } companion object { diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt index bbfbd25297..c1cf26bd04 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt @@ -1,7 +1,6 @@ package com.gh.gamecenter.qa.search.question import android.content.Context -import androidx.databinding.DataBindingUtil import androidx.recyclerview.widget.RecyclerView import android.text.Html import android.view.ViewGroup diff --git a/app/src/main/res/layout/ask_search_question_item.xml b/app/src/main/res/layout/ask_search_question_item.xml index 5fa232c8db..e362adc535 100644 --- a/app/src/main/res/layout/ask_search_question_item.xml +++ b/app/src/main/res/layout/ask_search_question_item.xml @@ -7,18 +7,16 @@ android:layout_height="wrap_content" android:background="@android:color/white" android:paddingLeft="20dp" - android:paddingTop="17dp" + android:paddingTop="16dp" android:paddingRight="20dp" android:paddingBottom="18dp"> @@ -26,20 +24,22 @@ android:id="@+id/questions_title" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginTop="1dp" android:includeFontPadding="false" + android:lineSpacingExtra="5dp" android:maxLines="2" android:textColor="@color/black" android:textSize="14sp" android:textStyle="bold" app:layout_constraintBottom_toTopOf="@id/questions_answer_count" app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintTop_toBottomOf="@id/question_hint_icon" /> + app:layout_constraintTop_toTopOf="parent" /> - \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_community.xml b/app/src/main/res/layout/dialog_community.xml index 2e3df14154..f365176298 100644 --- a/app/src/main/res/layout/dialog_community.xml +++ b/app/src/main/res/layout/dialog_community.xml @@ -5,29 +5,29 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/white" - android:orientation="vertical" - android:paddingLeft="16dp" - android:paddingTop="28dp" - android:paddingRight="16dp" - android:paddingBottom="16dp"> + android:orientation="vertical"> + tools:text="已有相似问题去看看?" /> + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" /> + + + \ No newline at end of file