|
@@ -1,10 +1,14 @@
|
|
|
package com.quansu.heifengwuliu.utils
|
|
|
|
|
|
import android.content.Context
|
|
|
+import android.graphics.Color
|
|
|
import android.view.LayoutInflater
|
|
|
import android.view.View
|
|
|
import android.widget.FrameLayout
|
|
|
import android.widget.TextView
|
|
|
+import androidx.fragment.app.Fragment
|
|
|
+import androidx.fragment.app.FragmentManager
|
|
|
+import com.hwangjr.rxbus.RxBus
|
|
|
import com.qmuiteam.qmui.kotlin.onClick
|
|
|
import com.qmuiteam.qmui.layout.QMUIFrameLayout
|
|
|
import com.qmuiteam.qmui.skin.QMUISkinValueBuilder
|
|
@@ -12,8 +16,15 @@ import com.qmuiteam.qmui.util.QMUIDisplayHelper
|
|
|
import com.qmuiteam.qmui.widget.QMUIViewPager
|
|
|
import com.qmuiteam.qmui.widget.popup.QMUIPopup
|
|
|
import com.qmuiteam.qmui.widget.popup.QMUIPopups
|
|
|
+import com.qmuiteam.qmui.widget.tab.QMUITab
|
|
|
+import com.qmuiteam.qmui.widget.tab.QMUITabIndicator
|
|
|
import com.qmuiteam.qmui.widget.tab.QMUITabSegment
|
|
|
import com.quansu.heifengwuliu.R
|
|
|
+import com.quansu.heifengwuliu.adapter.BaseFragmentPagerAdapter
|
|
|
+import com.quansu.heifengwuliu.config.ConfigRx
|
|
|
+import com.quansu.heifengwuliu.fragment.OwnerImgFragment
|
|
|
+import com.quansu.heifengwuliu.fragment.TimeLeftFragment
|
|
|
+import com.quansu.heifengwuliu.fragment.TimeRightFragment
|
|
|
import com.quansu.heifengwuliu.inte.ChoiceData
|
|
|
|
|
|
/**
|
|
@@ -24,7 +35,7 @@ import com.quansu.heifengwuliu.inte.ChoiceData
|
|
|
object PopuChoseTime {
|
|
|
|
|
|
|
|
|
- fun show(context: Context, text:String, view: View, choiceData: ChoiceData){
|
|
|
+ fun show(context: Context, text: String, view: View, fm: FragmentManager, choiceData: ChoiceData) {
|
|
|
|
|
|
var mNormalPopup = QMUIPopups.fullScreenPopup(context)
|
|
|
val builder: QMUISkinValueBuilder = QMUISkinValueBuilder.acquire()
|
|
@@ -33,14 +44,92 @@ object PopuChoseTime {
|
|
|
val layoutInflater = context?.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
|
|
|
var layout = layoutInflater.inflate(R.layout.item_chose_time, null)
|
|
|
|
|
|
- val tvTitle:TextView=layout.findViewById(R.id.tv_title)
|
|
|
- val tvTime:TextView=layout.findViewById(R.id.tv_time)
|
|
|
- val tabs: QMUITabSegment =layout.findViewById(R.id.tabs)
|
|
|
- val tvSure:TextView=layout.findViewById(R.id.tv_sure)
|
|
|
- val qmViewPager: QMUIViewPager =layout.findViewById(R.id.qm_view_pager)
|
|
|
+ val tvTitle: TextView = layout.findViewById(R.id.tv_title)
|
|
|
+ val tvTime: TextView = layout.findViewById(R.id.tv_time)
|
|
|
+ val tabs: QMUITabSegment = layout.findViewById(R.id.tabs)
|
|
|
+ val tvSure: TextView = layout.findViewById(R.id.tv_sure)
|
|
|
+ val qmViewPager: QMUIViewPager = layout.findViewById(R.id.qm_view_pager)
|
|
|
+ //设置viewpager
|
|
|
+ val fragments = ArrayList<Fragment>()
|
|
|
+
|
|
|
+ var oneTimeLeft = TimeLeftFragment()
|
|
|
+ var oneTimeRight = TimeRightFragment()
|
|
|
+ fragments.add(oneTimeLeft)
|
|
|
+ fragments.add(oneTimeRight)
|
|
|
+
|
|
|
+ val adapter = BaseFragmentPagerAdapter(fm, fragments)//childFragmentManager
|
|
|
+ qmViewPager.adapter = adapter
|
|
|
+ //设置tab
|
|
|
+ tabs.setIndicator(QMUITabIndicator(QMUIDisplayHelper.dp2px(context, 2), false, true))
|
|
|
+ val space: Int = QMUIDisplayHelper.dp2px(context, 20)
|
|
|
+ tabs.setItemSpaceInScrollMode(space)
|
|
|
+ tabs.setPadding(space, 0, space, 0)
|
|
|
+ tabs.mode = QMUITabSegment.MODE_SCROLLABLE
|
|
|
+ tabs.right = space
|
|
|
+
|
|
|
+ val sizeTabs: Int = QMUIDisplayHelper.dp2px(context, 14)
|
|
|
+
|
|
|
+ val builder1 = tabs.tabBuilder()
|
|
|
+ builder1
|
|
|
+ .skinChangeWithTintColor(false)
|
|
|
+ .setSelectColor(Color.parseColor("#FFBC00"))
|
|
|
+ .setNormalColor(Color.parseColor("#5E5F60"))
|
|
|
+ // .setTypeface(Typeface.DEFAULT_BOLD, Typeface.DEFAULT)
|
|
|
+ .setTextSize(sizeTabs, sizeTabs)
|
|
|
+ .setDynamicChangeIconColor(false)
|
|
|
+
|
|
|
+ val tabList = ArrayList<QMUITab>()
|
|
|
+
|
|
|
+ val item1 = builder1
|
|
|
+ .setText("年月日")
|
|
|
+ .build(context)
|
|
|
+ tabList.add(item1)
|
|
|
+
|
|
|
+ val item2 = builder1
|
|
|
+ .setText("时分秒")
|
|
|
+ .build(context)
|
|
|
+ tabList.add(item2)
|
|
|
+
|
|
|
+ tabList.forEach {
|
|
|
+ tabs.addTab(it)
|
|
|
+ }
|
|
|
+ tabs.setupWithViewPager(qmViewPager, false)
|
|
|
+ tabs.addOnTabSelectedListener(object : QMUITabSegment.OnTabSelectedListener {
|
|
|
+ //mTabSegment选项被选中的监听
|
|
|
+ /**
|
|
|
+ * 当某个 Tab 被选中时会触发
|
|
|
+ *
|
|
|
+ * @param index 被选中的 Tab 下标
|
|
|
+ */
|
|
|
+ override fun onTabSelected(index: Int) {
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 当某个 Tab 被取消选中时会触发
|
|
|
+ *
|
|
|
+ * @param index 被取消选中的 Tab 下标
|
|
|
+ */
|
|
|
+ override fun onTabUnselected(index: Int) {}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 当某个 Tab 处于被选中状态下再次被点击时会触发
|
|
|
+ *
|
|
|
+ * @param index 被再次点击的 Tab 下标
|
|
|
+ */
|
|
|
+ override fun onTabReselected(index: Int) {
|
|
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
+ /**
|
|
|
+ * 当某个 Tab 被双击时会触发
|
|
|
+ *
|
|
|
+ * @param index 被双击的 Tab 下标
|
|
|
+ */
|
|
|
+ override fun onDoubleTap(index: Int) {}
|
|
|
+ })
|
|
|
|
|
|
|
|
|
// tvSure.onClick {
|
|
@@ -53,7 +142,7 @@ object PopuChoseTime {
|
|
|
|
|
|
builder.release();
|
|
|
|
|
|
- val size= QMUIDisplayHelper.getScreenWidth(context)
|
|
|
+ val size = QMUIDisplayHelper.getScreenWidth(context)
|
|
|
|
|
|
|
|
|
val lp: FrameLayout.LayoutParams = FrameLayout.LayoutParams(size,
|