From 2be2513081effd4abe0094bf807e0bfe515bc700 Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Wed, 1 Aug 2018 17:58:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=B8=AA=E4=BA=BA=E4=B8=BB?= =?UTF-8?q?=E9=A1=B5=E7=9B=B8=E5=85=B3=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gh/common/databind/BindingAdapters.java | 14 ++++++++ .../com/gh/gamecenter/PersonalHomeActivity.kt | 4 +-- .../fuli/answer/GameDetailAnswerAdapter.kt | 11 +++++- .../message/MessageUnreadViewModel.java | 6 ++++ .../gamecenter/personal/PersonalFragment.java | 3 +- .../personalhome/FollowersOrFansAdapter.kt | 33 +++++++++++------- .../personalhome/FollowersOrFansFragment.kt | 13 +++++++ .../personalhome/FollowersOrFansViewModel.kt | 10 +++--- .../personalhome/PersonalHomeAdapter.kt | 12 ++++--- .../drawable-xxhdpi/personal_home_icon.png | Bin 0 -> 1816 bytes app/src/main/res/layout/fragment_personal.xml | 16 +++++---- app/src/main/res/layout/personal_home_top.xml | 10 +++--- app/src/main/res/values/strings.xml | 1 + 13 files changed, 94 insertions(+), 39 deletions(-) create mode 100644 app/src/main/res/drawable-xxhdpi/personal_home_icon.png diff --git a/app/src/main/java/com/gh/common/databind/BindingAdapters.java b/app/src/main/java/com/gh/common/databind/BindingAdapters.java index 54b36c6536..732cf21e32 100644 --- a/app/src/main/java/com/gh/common/databind/BindingAdapters.java +++ b/app/src/main/java/com/gh/common/databind/BindingAdapters.java @@ -46,6 +46,7 @@ import com.lightgame.utils.Utils; import org.greenrobot.eventbus.EventBus; +import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.List; import java.util.Locale; @@ -96,6 +97,19 @@ public class BindingAdapters { } } + // 如果超过10000,则转换为1.0W + @BindingAdapter("transSimpleCount") + public static void transSimpleCount(TextView view, int count) { + String s; + if (count > 10000) { + DecimalFormat df = new DecimalFormat("#.0W"); + s = df.format(count / 10000f); + } else { + s = String.valueOf(count); + } + view.setText(s); + } + @BindingAdapter({"addKaiFuView", "clickListener"}) public static void addKaiFuView(LinearLayout view, List list, OnViewClickListener listener) { if (list == null) return; diff --git a/app/src/main/java/com/gh/gamecenter/PersonalHomeActivity.kt b/app/src/main/java/com/gh/gamecenter/PersonalHomeActivity.kt index 9a5c647b15..b0e8a3d8ab 100644 --- a/app/src/main/java/com/gh/gamecenter/PersonalHomeActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/PersonalHomeActivity.kt @@ -24,9 +24,7 @@ class PersonalHomeActivity : ListActivity { if (messageUnread != null && messageUnread.getTotal() > 0) { mFansHint.setVisibility(messageUnread.getFans() > 0 ? View.VISIBLE : View.GONE); + mFansHint.setText(("新增了" + messageUnread.getFans() + "个粉丝")); mLoginMessageHint.setVisibility(messageUnread.getTotal() - messageUnread.getFans() > 0 ? View.VISIBLE : View.GONE); EventBus.getDefault().post(new EBReuse(MESSAGE_UNREAD_TAG)); diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/FollowersOrFansAdapter.kt b/app/src/main/java/com/gh/gamecenter/personalhome/FollowersOrFansAdapter.kt index b8890ed251..967718aba1 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/FollowersOrFansAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/FollowersOrFansAdapter.kt @@ -13,6 +13,7 @@ import com.gh.gamecenter.adapter.viewholder.FooterViewHolder import com.gh.gamecenter.baselist.ListAdapter import com.gh.gamecenter.databinding.FollowersOrFansItemBinding import com.gh.gamecenter.entity.FollowersOrFansEntity +import com.gh.gamecenter.manager.UserManager import com.gh.gamecenter.personalhome.FollowersOrFansViewHolder import com.gh.gamecenter.personalhome.FollowersOrFansViewModel @@ -46,7 +47,11 @@ class FollowersOrFansAdapter(context: Context, val mViewModel: FollowersOrFansVi val entity = mEntityList[position] holder.binding.entity = entity holder.binding.followerBtn.run { - if (entity?.me?.isFollower!!) { + if (entity.id == UserManager.getInstance().userId) { + setText(R.string.myself) + setTextColor(ContextCompat.getColor(mContext, R.color.button_gray)) + setBackgroundResource(R.drawable.button_border_gray) + } else if (entity?.me?.isFollower!!) { setText(R.string.cancel_concern) setTextColor(ContextCompat.getColor(mContext, R.color.theme)) setBackgroundResource(R.drawable.button_normal_border) @@ -57,19 +62,21 @@ class FollowersOrFansAdapter(context: Context, val mViewModel: FollowersOrFansVi } } holder.binding.followerBtn.setOnClickListener { - mViewModel.followingCommand(true, callback = { - holder.binding.followerBtn.run { - if (it) { // 关注成功 - setText(R.string.cancel_concern) - setBackgroundResource(R.drawable.button_normal_border) - setTextColor(ContextCompat.getColor(mContext, R.color.theme)) - } else { // 取消关注成功 - setText(R.string.concern) - setBackgroundResource(R.drawable.button_normal_style) - setTextColor(Color.WHITE) + if (entity.id != UserManager.getInstance().userId) { + mViewModel.followingCommand(!entity?.me?.isFollower!!, entity.id, callback = { + holder.binding.followerBtn.run { + if (it) { // 关注成功 + setText(R.string.cancel_concern) + setBackgroundResource(R.drawable.button_normal_border) + setTextColor(ContextCompat.getColor(mContext, R.color.theme)) + } else { // 取消关注成功 + setText(R.string.concern) + setBackgroundResource(R.drawable.button_normal_style) + setTextColor(Color.WHITE) + } } - } - }) + }) + } } holder.itemView.setOnClickListener { PersonalHomeActivity.startTargetActivity(mContext, entity.id) diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/FollowersOrFansFragment.kt b/app/src/main/java/com/gh/gamecenter/personalhome/FollowersOrFansFragment.kt index fa57224c8e..7b5d9067f7 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/FollowersOrFansFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/FollowersOrFansFragment.kt @@ -6,6 +6,7 @@ import com.gh.common.util.EntranceUtils import com.gh.gamecenter.baselist.ListFragment import com.gh.gamecenter.entity.FollowersOrFansEntity import com.gh.gamecenter.manager.UserManager +import com.gh.gamecenter.message.MessageUnreadViewModel import com.gh.gamecenter.personalhome.FollowersOrFansViewModel import com.gh.gamecenter.personalhome.fans.FansActivity import com.gh.gamecenter.personalhome.fans.FollowersOrFansAdapter @@ -17,6 +18,8 @@ class FollowersOrFansFragment : ListFragment(application) { @@ -33,11 +33,11 @@ class FollowersOrFansViewModel(application: Application, } } - fun followingCommand(isFollow: Boolean, callback: (isFollow: Boolean) -> Unit) { + fun followingCommand(isFollow: Boolean, targetUserId: String, callback: (isFollow: Boolean) -> Unit) { val observable = if (isFollow) { - RetrofitManager.getInstance(getApplication()).api.postFollowing(userId) + RetrofitManager.getInstance(getApplication()).api.postFollowing(targetUserId) } else { - RetrofitManager.getInstance(getApplication()).api.deleteFollowing(userId) + RetrofitManager.getInstance(getApplication()).api.deleteFollowing(targetUserId) } observable .subscribeOn(Schedulers.io()) @@ -61,7 +61,7 @@ class FollowersOrFansViewModel(application: Application, }) } - class Factory(private val mApplication: Application, + class Factory(private val mApplication: Application, private val mPageSource: String, private val mUserId: String) : ViewModelProvider.NewInstanceFactory() { diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/PersonalHomeAdapter.kt b/app/src/main/java/com/gh/gamecenter/personalhome/PersonalHomeAdapter.kt index af1a48e8ce..4bfadcf3c8 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/PersonalHomeAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/PersonalHomeAdapter.kt @@ -24,11 +24,11 @@ import com.gh.gamecenter.personalhome.fans.FollowersActivity import com.gh.gamecenter.personalhome.question.PersonalQuestionActivity import com.gh.gamecenter.qa.answer.detail.AnswerDetailActivity import com.gh.gamecenter.qa.questions.detail.QuestionsDetailActivity +import com.lightgame.utils.Utils import java.util.* class PersonalHomeAdapter(context: Context, - private val mListViewModel: PersonalHomeViewModel, - private val unreadItemClick: () -> Unit) : ListAdapter(context) { + private val mListViewModel: PersonalHomeViewModel) : ListAdapter(context) { private var mUnreadEntity: MessageUnreadEntity? = null var personalData: PersonalEntity? = null @@ -102,7 +102,6 @@ class PersonalHomeAdapter(context: Context, mContext.startActivity(FollowersActivity.getIntent(mContext, mListViewModel.userId)) } userFansContainer.setOnClickListener { - unreadItemClick.invoke() mContext.startActivity(FansActivity.getIntent(mContext, mListViewModel.userId)) } userQuestionText.setOnClickListener { @@ -111,6 +110,9 @@ class PersonalHomeAdapter(context: Context, userAnswerText.setOnClickListener { mContext.startActivity(PersonalAnswerActivity.getIntent(mContext, mListViewModel.userId)) } + userVoteContainer.setOnClickListener { + Utils.toast(mContext, "共获得" + entity?.count?.answerVote + "赞同") + } userConcernOrEdit.setOnClickListener({ if (mListViewModel.userId == UserManager.getInstance().userId) { mContext.startActivity(UserInfoActivity.getIntent(mContext)) @@ -161,8 +163,8 @@ class PersonalHomeAdapter(context: Context, "answer" -> personalData?.name + "回答了问题·" + NewsUtils.getFormattedTime(time) "question" -> personalData?.name + "提交了问题·" + NewsUtils.getFormattedTime(time) "answer_vote" -> personalData?.name + "关注了问题·" + NewsUtils.getFormattedTime(time) - "question_follow" -> personalData?.name + "关注了问题·" + NewsUtils.getFormattedTime(time) - else -> "" + "follow_question" -> personalData?.name + "关注了问题·" + NewsUtils.getFormattedTime(time) + else -> personalData?.name + "" } } diff --git a/app/src/main/res/drawable-xxhdpi/personal_home_icon.png b/app/src/main/res/drawable-xxhdpi/personal_home_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5dfd5c593c9258b4a02b08fd6f88201c2325954e GIT binary patch literal 1816 zcmeAS@N?(olHy`uVBq!ia0vp^0U*r51|<6gKdl8)k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m^Cs(B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk*h0bFQqR!T z(!$6@N5ROz&`jUJQs2--*TB%qz|zXVPyq^*fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$DAddqG<*}2 zGxI=#nqXbNzE+-j#U+V($*G<$wn{*A^fEJ3tQ-v-EnHpPEG=9t4Gj%lEu1V(T%8P@ z49tLLn7g`~!t}c2Czs}?=9R$orXch>;?xUD5V-|Fn_W_iGRsm^+=}vZ6~G?1%Eav! zbDZWu^`_u=-`as9%gQ6EHx?w`VGz4P86EBbhPyVTSz%*Y3Ox!}jiC(}w)8^^o z7*cWT&0Nn6;XsMw`!||ph$zqC5_)|wiFsjD*8;b|g6UNO0RpVs&ZK-g zy=PBpkn-e{0>^9AHZWz+oKdenNuuO*p)YH>gRumYxWlD);=bz1*I0I`Fn*9&Gwr+c zgEcnSF2}TVFK4@Re)9DB!4EXJW$f8rFhqCRJXgALo{4+8>>J(3mF5S{#4N1Vii-Fb zo+&@bCN|@&;)Sq>W?LU9M!YL;+Mey4PfNm(|U2y-wAt%M5X+=XFnGNicZgyEZ>oCJ9+Ts1a&#`fnjNRK+jr}ey-$t_ zExszGVfD`cfXJu3L!0{Tj%PL&A2c>--Xm{#K#?sa-Ac7UtithJ&l-!V6E`05NHR#- ze&A(L9P`WRY8SXW9e1;^rEbhss#VrHD(AtoLQJFVN5`h-sk_pbM6z|7u43tuEp0A+ zGQZ=iW$c8E2vLo)g1IqU#Eu?(!xp}V%Z5Md#D2@3%^S|HIUxMNqA*JFW5iM>{)XZ= z@8WMMZd@AEXnnx6>|1=E!=rCOOy-TZkF5TF-1_D&#lpucqRh(Ya>#W&ekQsycJrd- zHrL5|b9?s6SF@FE+_OnZrc_MpP+(bb*`ijKZ=0uYx*YGZV8*B4r}Dhid@C<6cKdg< zZH0&0!!$$D{Y{={lw&S!y~uMmQ#AjXp&F$sIUza?5-oi|l@|5UAOH){=d{e6WUPrn-3j@_vp00i_>zopr05|x$8~^|S literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/fragment_personal.xml b/app/src/main/res/layout/fragment_personal.xml index ebadafb3f8..200ff5f57f 100644 --- a/app/src/main/res/layout/fragment_personal.xml +++ b/app/src/main/res/layout/fragment_personal.xml @@ -189,7 +189,7 @@ android:layout_height = "18dp" android:layout_centerVertical = "true" android:layout_marginRight = "18dp" - android:src = "@drawable/personal_ask_icon" /> + android:src = "@drawable/personal_home_icon" /> + android:background = "@drawable/setting_update_hint" + android:paddingBottom = "2dp" + android:paddingLeft = "8dp" + android:paddingRight = "8dp" + android:paddingTop = "2dp" + android:textColor = "@android:color/white" + android:textSize = "12sp" + android:visibility = "gone" /> diff --git a/app/src/main/res/layout/personal_home_top.xml b/app/src/main/res/layout/personal_home_top.xml index 5a6effceb0..3f7b28d19c 100644 --- a/app/src/main/res/layout/personal_home_top.xml +++ b/app/src/main/res/layout/personal_home_top.xml @@ -121,10 +121,10 @@ @@ -153,10 +153,10 @@ @@ -250,11 +250,11 @@ 个人主页 个性签名 介绍下自己吧.. + 自己