diff --git a/app/build.gradle b/app/build.gradle index 15ad9f49e6..b11c21cee5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,10 +10,6 @@ apply from: 'tinker-support.gradle' android { - kapt { - generateStubs = true - } - dataBinding { enabled = true } @@ -149,9 +145,6 @@ android { } } - dataBinding { - enabled = true - } // productFlavors.all { flavor -> // flavor.manifestPlaceholders = [CHANNEL_VALUE: name]//命令 gradlew assembleRelease @@ -254,6 +247,8 @@ dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" kapt 'com.android.databinding:compiler:3.0.1' + compile 'com.contrarywind:Android-PickerView:4.1.3' + implementation project(':libraries:LGLibrary') implementation project(':libraries:MTA') implementation project(':libraries:QQShare') diff --git a/app/src/main/java/com/gh/base/OnViewClickListener.java b/app/src/main/java/com/gh/base/OnViewClickListener.java new file mode 100644 index 0000000000..c14f834187 --- /dev/null +++ b/app/src/main/java/com/gh/base/OnViewClickListener.java @@ -0,0 +1,7 @@ +package com.gh.base; + +import android.view.View; + +public interface OnViewClickListener { + void onClick(View v, Object data); +} 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 12cb50256d..64675a6e58 100644 --- a/app/src/main/java/com/gh/common/databind/BindingAdapters.java +++ b/app/src/main/java/com/gh/common/databind/BindingAdapters.java @@ -10,6 +10,7 @@ import android.widget.LinearLayout; import android.widget.TextView; import com.facebook.drawee.view.SimpleDraweeView; +import com.gh.base.OnViewClickListener; import com.gh.common.constant.Config; import com.gh.common.util.DataUtils; import com.gh.common.util.DialogUtils; @@ -46,15 +47,17 @@ public class BindingAdapters { view.setImageURI(imageUrl); } - @BindingAdapter("addKaiFuView") - public static void addKaiFuView(LinearLayout view, List list) { + @BindingAdapter({"addKaiFuView", "clickListener"}) + public static void addKaiFuView(LinearLayout view, List list, OnViewClickListener listener) { 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.setClickListener(listener); binding.setEntity(list.get(i)); + binding.setPosition(i); binding.setIsCloseBottom(list.size() - 1 == i); view.addView(inflate); } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailKaiFuViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailKaiFuViewHolder.java index 0eee739096..c51e8c075a 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailKaiFuViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailKaiFuViewHolder.java @@ -2,9 +2,9 @@ package com.gh.gamecenter.adapter.viewholder; import android.support.v7.widget.RecyclerView; import android.view.View; +import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.ScrollView; -import android.widget.TableLayout; import android.widget.TextView; import com.gh.base.BaseRecyclerViewHolder; @@ -36,7 +36,7 @@ public class GameDetailKaiFuViewHolder extends BaseRecyclerViewHolder { viewHolder.kaifuSuggest.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - SuggestionActivity.startSuggestionActivity(mContext, 1, "service" - , StringUtils.buildString(gameName, ",", suggestTime, "开服信息有误:")); + mContext.startActivity(KaiFuAddActivity.Companion.getIntent(mContext)); +// SuggestionActivity.startSuggestionActivity(mContext, 1, "service" +// , StringUtils.buildString(gameName, ",", suggestTime, "开服信息有误:")); } }); 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 index 48b54e27d3..9ea85ad46d 100644 --- a/app/src/main/java/com/gh/gamecenter/kaifu/add/KaiFuAddActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/kaifu/add/KaiFuAddActivity.kt @@ -2,11 +2,27 @@ package com.gh.gamecenter.kaifu.add import android.content.Context import android.content.Intent +import android.graphics.Color import android.os.Bundle +import android.support.v4.content.ContextCompat +import android.view.Gravity +import android.view.View +import android.view.ViewGroup +import android.widget.EditText +import android.widget.FrameLayout +import android.widget.TextView +import com.bigkoo.pickerview.builder.TimePickerBuilder +import com.bigkoo.pickerview.listener.OnTimeSelectListener import com.gh.base.BaseActivity +import com.gh.base.OnViewClickListener +import com.gh.common.util.GsonUtils import com.gh.gamecenter.R import com.gh.gamecenter.databinding.ActivityKaifuAddBinding import com.gh.gamecenter.entity.KaiFuCalendarEntity +import com.lightgame.utils.Utils +import java.text.SimpleDateFormat +import java.util.* + class KaiFuAddActivity : BaseActivity() { @@ -29,6 +45,69 @@ class KaiFuAddActivity : BaseActivity() { setNavigationTitle("新增开服") mBinding = ActivityKaifuAddBinding.bind(mContentView) mBinding?.list = mList + mBinding?.timeClickListener = OnViewClickListener { view: View, position: Any -> + showDataPicker(OnTimeSelectListener { data: Date, _ -> + run { + if (view is TextView && position is Int) { + if (position == 0) { + + } + mList[position].time = data.time + view.text = SimpleDateFormat("yyyy年mm月dd日 hh:mm", Locale.CANADA).format(data.time) + } + } + }) + } + mBinding?.addPost?.setOnClickListener({ + Utils.log("========" + GsonUtils.getInstance().toJson(mList)) + + }) + val a = EditText(this) + } + + // 项目地址 ->https://github.com/Bigkoo/Android-PickerView/ + private fun showDataPicker(timeSelectListener: OnTimeSelectListener) { + val selectedDate = Calendar.getInstance() + val startDate = Calendar.getInstance() + val endDate = Calendar.getInstance() + val format = SimpleDateFormat("yyyy", Locale.CANADA) + val curYeas = format.format(selectedDate.time).toInt() + startDate.set(curYeas, 0, 1) + endDate.set(curYeas + 1, 11, 31) + + val pvTime = TimePickerBuilder(this, timeSelectListener) + .setType(booleanArrayOf(true, true, true, true, true, false)) + .setCancelText("取消") + .setSubmitText("确定") + .setTitleSize(15) + .setOutSideCancelable(false) + .isCyclic(false) + .setSubmitColor(ContextCompat.getColor(this, R.color.theme)) + .setCancelColor(ContextCompat.getColor(this, R.color.hint)) + .setTitleBgColor(Color.WHITE) + .setBgColor(Color.WHITE) + .setDate(selectedDate) + .setRangDate(startDate, endDate) + .setLabel("", "月", "日", "时", "分", "") + .isCenterLabel(false) + .isDialog(true) + .setContentTextSize(15) + .build() + + val dialog = pvTime.dialog + if (dialog != null) { + val params = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM) + params.leftMargin = 0 + params.rightMargin = 0 + pvTime.dialogContainerLayout.layoutParams = params + val dialogWindow = dialog.window + if (dialogWindow != null) { + dialogWindow.setWindowAnimations(com.bigkoo.pickerview.R.style.picker_view_slide_anim) + dialogWindow.setGravity(Gravity.BOTTOM) + } + dialog.show() + } } 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 index 683588da90..54f3c76e7f 100644 --- a/app/src/main/java/com/gh/gamecenter/kaifu/amend/KaiFuAmendActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/kaifu/amend/KaiFuAmendActivity.kt @@ -3,10 +3,13 @@ package com.gh.gamecenter.kaifu.amend import android.content.Context import android.content.Intent import android.os.Bundle +import android.view.View import com.gh.base.BaseActivity +import com.gh.common.util.GsonUtils import com.gh.gamecenter.R import com.gh.gamecenter.databinding.ActivityKaifuAmendBinding import com.gh.gamecenter.entity.KaiFuCalendarEntity +import com.lightgame.utils.Utils class KaiFuAmendActivity : BaseActivity() { @@ -19,14 +22,20 @@ class KaiFuAmendActivity : BaseActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + setNavigationTitle("修改开服") + mServerEntity = intent.getParcelableExtra(KaiFuCalendarEntity.TAG) + mBinding = ActivityKaifuAmendBinding.bind(mContentView) - mBinding?.entity = intent.getParcelableExtra(KaiFuCalendarEntity.TAG) + mBinding?.entity = mServerEntity mBinding?.amendBtn?.setOnCheckedChangeListener({ _, b: Boolean -> if (b) mBinding?.deleteBtn?.isChecked = false }) mBinding?.deleteBtn?.setOnCheckedChangeListener({ _, b: Boolean -> if (b) mBinding?.amendBtn?.isChecked = false }) + mBinding?.amendPost?.setOnClickListener(View.OnClickListener { + Utils.log("==========WWW::" + GsonUtils.getInstance().toJson(mServerEntity!!)) + }) } companion object { diff --git a/app/src/main/res/layout/activity_kaifu_add.xml b/app/src/main/res/layout/activity_kaifu_add.xml index 334e1468eb..e32de17213 100644 --- a/app/src/main/res/layout/activity_kaifu_add.xml +++ b/app/src/main/res/layout/activity_kaifu_add.xml @@ -2,14 +2,20 @@ - - - + + + + + + + - + type = "List<KaiFuCalendarEntity>" /> + + android:layout_height = "0dp" + android:layout_marginTop = "8dp" + android:layout_weight = "1" + android:background = "@android:color/white" > + android:orientation = "vertical" /> + android:text = "@string/kaifu_add_hint" + android:textColor = "@color/title" + android:textSize = "12sp" /> + + + + + diff --git a/app/src/main/res/layout/activity_kaifu_amend.xml b/app/src/main/res/layout/activity_kaifu_amend.xml index 99264689a3..29028a2612 100644 --- a/app/src/main/res/layout/activity_kaifu_amend.xml +++ b/app/src/main/res/layout/activity_kaifu_amend.xml @@ -102,7 +102,7 @@ android:orientation = "horizontal" > - + android:background = "@android:color/white" > + + + diff --git a/app/src/main/res/layout/gamedetail_item_kaifu.xml b/app/src/main/res/layout/gamedetail_item_kaifu.xml index b3a21fd14e..b7b7f61796 100644 --- a/app/src/main/res/layout/gamedetail_item_kaifu.xml +++ b/app/src/main/res/layout/gamedetail_item_kaifu.xml @@ -114,10 +114,11 @@ android:paddingTop = "15dp" android:scrollbars = "none" > - + android:layout_height = "wrap_content" + android:orientation="vertical"/> diff --git a/app/src/main/res/layout/kaifu_add_item.xml b/app/src/main/res/layout/kaifu_add_item.xml index e9924a0b50..c9a024de51 100644 --- a/app/src/main/res/layout/kaifu_add_item.xml +++ b/app/src/main/res/layout/kaifu_add_item.xml @@ -11,6 +11,14 @@ name = "isCloseBottom" type = "Boolean" /> + + + + @@ -26,15 +34,15 @@ android:paddingRight = "1dp" android:paddingTop = "1dp" > - - - +