From 08e8846af84e851690cbcf9a5dd74ee26b5c0d88 Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Tue, 29 May 2018 19:43:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BC=80=E6=9C=8D,=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=BC=80=E6=9C=8D(=E6=9C=AA=E5=AE=8C=E5=96=84)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 8 + .../gh/common/databind/BindingAdapters.java | 20 ++ .../java/com/gh/common/util/DisplayUtils.java | 11 + .../gh/gamecenter/entity/GameDetailEntity.kt | 4 - .../gamecenter/entity/KaiFuCalendarEntity.kt | 62 ++++++ .../gh/gamecenter/entity/KaiFuServerEntity.kt | 4 + .../gamedetail/GameDetailKaiFuAdapter.java | 7 +- .../gamecenter/kaifu/add/KaiFuAddActivity.kt | 41 ++++ .../kaifu/amend/KaiFuAmendActivity.kt | 19 ++ .../res/drawable-xhdpi/kaifu_amend_select.png | Bin 0 -> 552 bytes .../drawable-xhdpi/kaifu_amend_unselect.png | Bin 0 -> 999 bytes .../drawable-xhdpi/kaifu_delete_select.png | Bin 0 -> 468 bytes .../drawable-xhdpi/kaifu_delete_unselect.png | Bin 0 -> 996 bytes .../res/drawable/kaifu_radio_button_style.xml | 8 + .../main/res/layout/activity_kaifu_add.xml | 52 +++++ .../main/res/layout/activity_kaifu_amend.xml | 204 ++++++++++++++++++ app/src/main/res/layout/kaifu_add_item.xml | 71 ++++++ .../main/res/layout/kaifu_add_item_title.xml | 47 ++++ .../main/res/layout/kaifu_detail_item_row.xml | 3 +- app/src/main/res/values/strings.xml | 1 + 20 files changed, 553 insertions(+), 9 deletions(-) create mode 100644 app/src/main/java/com/gh/gamecenter/entity/KaiFuCalendarEntity.kt create mode 100644 app/src/main/java/com/gh/gamecenter/kaifu/add/KaiFuAddActivity.kt create mode 100644 app/src/main/java/com/gh/gamecenter/kaifu/amend/KaiFuAmendActivity.kt create mode 100644 app/src/main/res/drawable-xhdpi/kaifu_amend_select.png create mode 100644 app/src/main/res/drawable-xhdpi/kaifu_amend_unselect.png create mode 100644 app/src/main/res/drawable-xhdpi/kaifu_delete_select.png create mode 100644 app/src/main/res/drawable-xhdpi/kaifu_delete_unselect.png create mode 100644 app/src/main/res/drawable/kaifu_radio_button_style.xml create mode 100644 app/src/main/res/layout/activity_kaifu_add.xml create mode 100644 app/src/main/res/layout/activity_kaifu_amend.xml create mode 100644 app/src/main/res/layout/kaifu_add_item.xml create mode 100644 app/src/main/res/layout/kaifu_add_item_title.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 303a77f76c..e192af63f1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -290,6 +290,14 @@ android:name = "com.gh.gamecenter.qa.ask.QuestionEditActivity" android:screenOrientation = "portrait" /> + + + + list) { + if (list == null) return; + view.removeAllViews(); + view.addView(LayoutInflater.from(view.getContext()).inflate(R.layout.kaifu_add_item_title, null)); + for (int i = 0; i < list.size(); i++) { + View inflate = LayoutInflater.from(view.getContext()).inflate(R.layout.kaifu_add_item, null); + KaifuAddItemBinding binding = KaifuAddItemBinding.bind(inflate); + binding.setEntity(list.get(i)); + binding.setIsCloseBottom(list.size() - 1 == i); + view.addView(inflate); + } + } + @BindingAdapter("visibleGone") public static void showHide(View view, Boolean show) { if (show) { diff --git a/app/src/main/java/com/gh/common/util/DisplayUtils.java b/app/src/main/java/com/gh/common/util/DisplayUtils.java index 69fe281f2b..38181d36aa 100644 --- a/app/src/main/java/com/gh/common/util/DisplayUtils.java +++ b/app/src/main/java/com/gh/common/util/DisplayUtils.java @@ -3,6 +3,8 @@ package com.gh.common.util; import android.content.Context; import android.content.res.Resources; +import com.halo.assistant.HaloApp; + public class DisplayUtils { /** @@ -21,6 +23,15 @@ public class DisplayUtils { return (int) (pxValue / scale + 0.5f); } + /** + * 根据手机的分辨率从 dip(像素) 的单位 转成为 px + */ + public static int dip2px(float dpValue) { + final float scale = HaloApp.getInstance().getApplication().getResources().getDisplayMetrics().density; + return (int) (dpValue * scale + 0.5f); + } + + /** * 将px值转换为sp值,保证文字大小不变 * diff --git a/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.kt index df7bbe4070..6e7af91165 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.kt @@ -9,8 +9,6 @@ class GameDetailEntity : Parcelable { var id: String? = null - var serverInfo: List? = null - private var tag: ArrayList? = null private var tips: TipsEntity? = null @@ -87,7 +85,6 @@ class GameDetailEntity : Parcelable { } override fun writeToParcel(dest: Parcel, flags: Int) { - dest.writeTypedList(this.serverInfo) dest.writeTypedList(this.tag) dest.writeParcelable(this.tips, flags) dest.writeTypedList(this.news) @@ -110,7 +107,6 @@ class GameDetailEntity : Parcelable { constructor() {} protected constructor(`in`: Parcel) { - this.serverInfo = `in`.createTypedArrayList(ServerEntity.CREATOR) this.tag = `in`.createTypedArrayList(TagEntity.CREATOR) this.tips = `in`.readParcelable(TipsEntity::class.java.classLoader) this.news = `in`.createTypedArrayList(NewsEntity.CREATOR) diff --git a/app/src/main/java/com/gh/gamecenter/entity/KaiFuCalendarEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/KaiFuCalendarEntity.kt new file mode 100644 index 0000000000..b02402183e --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/entity/KaiFuCalendarEntity.kt @@ -0,0 +1,62 @@ +package com.gh.gamecenter.entity + +import android.os.Parcel +import android.os.Parcelable +import java.text.SimpleDateFormat +import java.util.* + +/** + * Created by khy on 2017/3/17. + */ +class KaiFuCalendarEntity() : Parcelable { + + var note: String? = null + + var time: Long = 0 + + var type: String? = null + + var remark: String = "" + + var order: Int = -1 + + override fun describeContents(): Int { + return 0 + } + + fun getFormatTime(pattern: String): String? { + if (time == 0L) return null + val formatTime = SimpleDateFormat(pattern, Locale.CHINA) + return formatTime.format(time * 1000) + } + + override fun writeToParcel(dest: Parcel, flags: Int) { + dest.writeString(this.note) + dest.writeLong(this.time) + dest.writeString(this.type) + dest.writeString(this.remark) + dest.writeInt(this.order) + } + + constructor(source: Parcel) : this() { + this.note = source.readString() + this.time = source.readLong() + this.type = source.readString() + this.remark = source.readString() + this.order = source.readInt() + } + + companion object { + + @JvmField + val CREATOR: Parcelable.Creator = object : Parcelable.Creator { + override fun createFromParcel(source: Parcel): KaiFuCalendarEntity { + return KaiFuCalendarEntity(source) + } + + override fun newArray(size: Int): Array { + return arrayOfNulls(size) + } + } + } +} diff --git a/app/src/main/java/com/gh/gamecenter/entity/KaiFuServerEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/KaiFuServerEntity.kt index 605ac317d7..5d0f8f4bb4 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/KaiFuServerEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/KaiFuServerEntity.kt @@ -18,6 +18,8 @@ class KaiFuServerEntity(source: Parcel) : Parcelable { var order: Int = -1 + var remark: String = "" + override fun describeContents(): Int { return 0 } @@ -32,6 +34,7 @@ class KaiFuServerEntity(source: Parcel) : Parcelable { dest.writeLong(this.time) dest.writeString(this.type) dest.writeInt(this.order) + dest.writeString(this.remark) } init { @@ -39,6 +42,7 @@ class KaiFuServerEntity(source: Parcel) : Parcelable { this.time = source.readLong() this.type = source.readString() this.order = source.readInt() + this.remark = source.readString() } companion object { diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java index dae34cc669..6719d6aa5c 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java @@ -20,13 +20,13 @@ import android.widget.TextView; import com.gh.common.util.DisplayUtils; import com.gh.common.util.StringUtils; import com.gh.gamecenter.R; -import com.gh.gamecenter.SuggestionActivity; import com.gh.gamecenter.adapter.viewholder.GameDetailCalenderViewHolder; import com.gh.gamecenter.adapter.viewholder.GameDetailKaiFuViewHolder; import com.gh.gamecenter.databinding.KaifuDetailItemRowBinding; import com.gh.gamecenter.entity.CalendarEntity; import com.gh.gamecenter.entity.KaiFuServerEntity; import com.gh.gamecenter.eventbus.EBReuse; +import com.gh.gamecenter.kaifu.amend.KaiFuAmendActivity; import com.gh.gamecenter.retrofit.Response; import com.lightgame.adapter.BaseRecyclerAdapter; @@ -188,8 +188,9 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter { viewHolder.kaifuSuggest.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - SuggestionActivity.startSuggestionActivity(mContext, 1, "service" - , StringUtils.buildString(gameName, ",", suggestTime, "开服信息有误:")); +// SuggestionActivity.startSuggestionActivity(mContext, 1, "service" +// , StringUtils.buildString(gameName, ",", suggestTime, "开服信息有误:")); + mContext.startActivity(KaiFuAmendActivity.Companion.getIntent(mContext)); } }); diff --git a/app/src/main/java/com/gh/gamecenter/kaifu/add/KaiFuAddActivity.kt b/app/src/main/java/com/gh/gamecenter/kaifu/add/KaiFuAddActivity.kt new file mode 100644 index 0000000000..48b54e27d3 --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/kaifu/add/KaiFuAddActivity.kt @@ -0,0 +1,41 @@ +package com.gh.gamecenter.kaifu.add + +import android.content.Context +import android.content.Intent +import android.os.Bundle +import com.gh.base.BaseActivity +import com.gh.gamecenter.R +import com.gh.gamecenter.databinding.ActivityKaifuAddBinding +import com.gh.gamecenter.entity.KaiFuCalendarEntity + +class KaiFuAddActivity : BaseActivity() { + + private var mBinding: ActivityKaifuAddBinding? = null + + private val mList = ArrayList() + + init { + for (i in 0 until 5) { + mList.add(KaiFuCalendarEntity()) + } + } + + override fun getLayoutId(): Int { + return R.layout.activity_kaifu_add + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setNavigationTitle("新增开服") + mBinding = ActivityKaifuAddBinding.bind(mContentView) + mBinding?.list = mList + } + + + companion object { + + fun getIntent(context: Context): Intent { + return Intent(context, KaiFuAddActivity::class.java) + } + } +} diff --git a/app/src/main/java/com/gh/gamecenter/kaifu/amend/KaiFuAmendActivity.kt b/app/src/main/java/com/gh/gamecenter/kaifu/amend/KaiFuAmendActivity.kt new file mode 100644 index 0000000000..88d65ca3c4 --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/kaifu/amend/KaiFuAmendActivity.kt @@ -0,0 +1,19 @@ +package com.gh.gamecenter.kaifu.amend + +import android.content.Context +import android.content.Intent +import com.gh.base.BaseActivity +import com.gh.gamecenter.R + +class KaiFuAmendActivity : BaseActivity() { + override fun getLayoutId(): Int { + return R.layout.activity_kaifu_amend + } + + companion object { + + fun getIntent(context: Context): Intent { + return Intent(context, KaiFuAmendActivity::class.java) + } + } +} diff --git a/app/src/main/res/drawable-xhdpi/kaifu_amend_select.png b/app/src/main/res/drawable-xhdpi/kaifu_amend_select.png new file mode 100644 index 0000000000000000000000000000000000000000..01113225303e16cb100e0271b92428c9df6e6f67 GIT binary patch literal 552 zcmV+@0@wYCP)JkJ6!4eyxhoUG!ur75Df-Vw7rAUsl zg3@aS1!)99=w%Q%#~RpXO-0S7zkjCM#WAnk&2imxFbPsDAB^J|#%>@sI9NanOr)0puWRlD; zy{seG3k&X2cyMkXvLrC_D$Q(s-LzMi6}q;Gj75UD9TJb{R(Uj+wd|UL9;b{dmrs~k zBoRi>1kgMxv+;FqPJgS|HwE8a-OtQm2YYuYRl!>)+Ue1p#8);Lh$YcWmHVdP{8FAS zpUPA;M0j_L<;#8DZu+|2Wb-@;{Dw-A8Ke5d8LXMETh3C;QT|Tv})1x`LeX^au zy1|8sWfH5!s+c8M)C~q>NhUx2z~_>giiSBDX#M|O^QerT4Im0|?L~_DrMxZ75(Lmo zaQ$V9`|mUCY?X-hhd9!)9k)YbJQBpEirjnqooAna+Qt9`J2(E7V;+W%dnoD#Uo(H` z^s3A(=D7GIiBaSKf~|9S_st47UZ+tcfljZ=msEkvPg6BxP{Wtz;fE}_g3fTSm-FKZ qeiy4xq*-ijX+5)bF5o7(b-{l_?UUoP@}tuL0000 zAY{t3R)y~;(sgh@|I^Ip$9x-MGc|UFEV8CUu~76#9fNYNTQH6qF%8|oml*2hz-Uf9l~a_DK*C>LYE-Y zG!4oMRFo|D$i{0SbCPTrk9HX>9J|zym`_5GGCFm#$_$Zbx?4gJ^=QMm(3IJdclU~GC^dWH<%gd9amY1KxwwD5TK~!)#?`V_tR|o8zjt<~291H?2ah&i zmyRtwdC@=$`Y`hR>5q}^C|AtAKRw$#wSHZ__2t?9jiWu|@PXlv3&EL}m+xk`-hDGm et-{ZNeTRgLnIjuFPD)$p(<{%+S)0>0@BIM`D>;4u literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/kaifu_delete_select.png b/app/src/main/res/drawable-xhdpi/kaifu_delete_select.png new file mode 100644 index 0000000000000000000000000000000000000000..fab6805d628037cc23bd36f35a491d98c2180ea5 GIT binary patch literal 468 zcmV;_0W1EAP)qbWwD0aEX|hs4192OAB#x2^2+; z`T-*1;>RRT)yWU2C^}j(g+gc?-r&%@=0(~JB?sQ}-nsnlx%ZxTW3|J_YFZfaR$^_i z4Xz(M`|0Rt5qLJm-7*J8S^yqB!uUy+m-+lh1H zbBv9$_?3Kt)z$w17v8fc$yAZugW;o391otQ-=s5CDh=mXAH165|b}@v|Wo4pytd@;rS;Utdt^zTto06GLRL5Q|ZqV&Ow1EF2`*i^*y3KcJ_F z$q5b}3{K+2b-KEkyT|hvkuiuxy75nqlR6z#{_Q)-1h3w3?MBe#O+>UlEYC4h3Yt2Z z;NvF>x0=Ra?e9D+<{we{!x0k^>|3;qQYnrZCT1Eo*^0000< KMNUMnLSTYA?%i(y literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/kaifu_delete_unselect.png b/app/src/main/res/drawable-xhdpi/kaifu_delete_unselect.png new file mode 100644 index 0000000000000000000000000000000000000000..5df7265d387185079370db124a868d9f7d4fe972 GIT binary patch literal 996 zcmaJ=PiWIn9F7dOu~Ef~P!W7)mx(sX%i1o9jipOkTQGBU1&dyMP2SeHB`+qgYqq1{ z!HZrzcu*MV!HeQ;h=N{sQ`kw6;n9=mRbjq#ZRf!nczM6~_EnZ1You1-2 zE>)|Vb+(^L*5o+*hpGKXY)jK}lP;4L+C?GeN)BmZQ1j3#u4CkE-r2%1eEv)u@^8j#}$fkfb2C)K?|?CzRrJt`<@4`qx08umShD6ZoAd35HD{nHtel6 zTXp#2Wl)GUM&MzJKwTE0@sE|?WFr^qsdWkoUak^<*t z14?EI8gm1zN$ie?eLBE8N7(X6Y$6CRV3AE6x*OQ3gv0~A!ZmkvE(;_1`dDXlF2+c# z$dVD0@%}aL!4=a`Vh+X24nz54pJ_g1;!a(9vdgM;Fjer)T9*{Pv%d}8|3P4D^6wWo#gofGMAU-l*@ ZC2sFc>ciB@cNda(S1T`?uNH3I{R2qpIQ0Mk literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/kaifu_radio_button_style.xml b/app/src/main/res/drawable/kaifu_radio_button_style.xml new file mode 100644 index 0000000000..a46e935b64 --- /dev/null +++ b/app/src/main/res/drawable/kaifu_radio_button_style.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_kaifu_add.xml b/app/src/main/res/layout/activity_kaifu_add.xml new file mode 100644 index 0000000000..334e1468eb --- /dev/null +++ b/app/src/main/res/layout/activity_kaifu_add.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_kaifu_amend.xml b/app/src/main/res/layout/activity_kaifu_amend.xml new file mode 100644 index 0000000000..80a3be22c4 --- /dev/null +++ b/app/src/main/res/layout/activity_kaifu_amend.xml @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/kaifu_add_item.xml b/app/src/main/res/layout/kaifu_add_item.xml new file mode 100644 index 0000000000..e9924a0b50 --- /dev/null +++ b/app/src/main/res/layout/kaifu_add_item.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/kaifu_add_item_title.xml b/app/src/main/res/layout/kaifu_add_item_title.xml new file mode 100644 index 0000000000..174cfc75a4 --- /dev/null +++ b/app/src/main/res/layout/kaifu_add_item_title.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + diff --git a/app/src/main/res/layout/kaifu_detail_item_row.xml b/app/src/main/res/layout/kaifu_detail_item_row.xml index e26bf8c2d4..b6541d76b4 100644 --- a/app/src/main/res/layout/kaifu_detail_item_row.xml +++ b/app/src/main/res/layout/kaifu_detail_item_row.xml @@ -1,5 +1,4 @@ - @@ -60,7 +59,7 @@ android:background = "@color/title" android:gravity = "center" android:maxLines = "2" - android:text="@{isTitle?`备注`:`开服备注`}" + android:text="@{isTitle?`备注`:entity.remark}" android:textColor = "@android:color/white" android:textSize = "12sp" /> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a3d1f06c7d..59f5f0f844 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -561,5 +561,6 @@ 已连续签到 %1$d 天]]> %1$d]]> 著作权归作者所有©光环助手 + 操作说明:\n1.第1行是当前开服表上最新的开服信息,仅供参考\n2.点击第1行的内容,会自动在下方表格填入对应的内容\n3.自动填入内容时,时间会自动加1天,名字会自动按数字加1