|
@@ -0,0 +1,100 @@
|
|
|
+package com.quansu.heifengwuliu.fragment
|
|
|
+
|
|
|
+import android.content.Context
|
|
|
+import android.os.Bundle
|
|
|
+import android.view.LayoutInflater
|
|
|
+import android.view.ViewGroup
|
|
|
+import android.view.animation.AccelerateInterpolator
|
|
|
+import android.view.animation.DecelerateInterpolator
|
|
|
+import com.quansu.heifengwuliu.R
|
|
|
+import com.quansu.heifengwuliu.adapter.FragmentAdapter
|
|
|
+import com.quansu.heifengwuliu.base.MBFragment
|
|
|
+import com.quansu.heifengwuliu.databinding.FragmentOwnersingleBinding
|
|
|
+import com.quansu.heifengwuliu.utils.AList
|
|
|
+import com.quansu.heifengwuliu.utils.TAB
|
|
|
+import com.ysnows.base.base.BRepository
|
|
|
+import com.ysnows.base.base.BViewModel
|
|
|
+import com.ysnows.base.utils.B
|
|
|
+import net.lucode.hackware.magicindicator.ViewPagerHelper
|
|
|
+import net.lucode.hackware.magicindicator.buildins.UIUtil
|
|
|
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator
|
|
|
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter
|
|
|
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator
|
|
|
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView
|
|
|
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator
|
|
|
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.ColorTransitionPagerTitleView
|
|
|
+
|
|
|
+/**
|
|
|
+ * 一装一卸
|
|
|
+ *Created by shihuiyun
|
|
|
+ *on 2020/9/11
|
|
|
+ */
|
|
|
+class OwnerSingleFragment : MBFragment<BViewModel<BRepository>, FragmentOwnersingleBinding>(){
|
|
|
+ var cats= emptyArray<String>()
|
|
|
+ private var outtabs = 0
|
|
|
+
|
|
|
+
|
|
|
+ override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
+ super.onCreate(savedInstanceState)
|
|
|
+ setIndicator()
|
|
|
+ binding.viewPager.offscreenPageLimit = 0
|
|
|
+ initViewPager()
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private fun initViewPager() {
|
|
|
+ val tabs: AList<TAB> = AList()
|
|
|
+ for (cat in cats) {
|
|
|
+
|
|
|
+ var ownerImgFragment=OwnerImgFragment();
|
|
|
+
|
|
|
+ tabs.add(TAB(cat, ownerImgFragment, B.with().putString("img","12344").ok()))
|
|
|
+
|
|
|
+ }
|
|
|
+ outtabs = tabs.ok().size- 1
|
|
|
+ val fragmentAdapter = FragmentAdapter(childFragmentManager, tabs.ok())
|
|
|
+ binding.viewPager.adapter = fragmentAdapter
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private fun setIndicator() {
|
|
|
+ cats=arrayOf("1","2","3","4","5","6","11","23","18","30","33")
|
|
|
+
|
|
|
+ val commonNavigator = CommonNavigator(context)
|
|
|
+ commonNavigator.adapter = object : CommonNavigatorAdapter() {
|
|
|
+ override fun getCount(): Int {
|
|
|
+ return if (cats == null) 0 else cats.size
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun getTitleView(context: Context, index: Int): IPagerTitleView {
|
|
|
+ val colorTransitionPagerTitleView = ColorTransitionPagerTitleView(context)
|
|
|
+ colorTransitionPagerTitleView.normalColor = context.resources.getColor(R.color.tv_subtitle)
|
|
|
+ colorTransitionPagerTitleView.selectedColor = context.resources.getColor(R.color.tv_title)
|
|
|
+ colorTransitionPagerTitleView.text = cats.get(index)
|
|
|
+ colorTransitionPagerTitleView.setOnClickListener { binding.viewPager.setCurrentItem(index) }
|
|
|
+ return colorTransitionPagerTitleView
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun getIndicator(context: Context): IPagerIndicator {
|
|
|
+ val indicator = LinePagerIndicator(context)
|
|
|
+ indicator.mode = LinePagerIndicator.MODE_EXACTLY
|
|
|
+ indicator.lineHeight = UIUtil.dip2px(context, 3.0).toFloat()
|
|
|
+ indicator.lineWidth = UIUtil.dip2px(context, 40.0).toFloat()
|
|
|
+ indicator.roundRadius = UIUtil.dip2px(context, 2.0).toFloat()
|
|
|
+ indicator.startInterpolator = AccelerateInterpolator()
|
|
|
+ indicator.endInterpolator = DecelerateInterpolator(2.0f)
|
|
|
+ indicator.setColors(context.resources.getColor(R.color.bg_button_red))
|
|
|
+ return indicator
|
|
|
+ }
|
|
|
+ }
|
|
|
+ binding.slIndicator.navigator = commonNavigator
|
|
|
+
|
|
|
+ ViewPagerHelper.bind( binding.slIndicator, binding.viewPager)
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun binding(inflater: LayoutInflater, container: ViewGroup?): FragmentOwnersingleBinding {
|
|
|
+ return FragmentOwnersingleBinding.inflate(layoutInflater)
|
|
|
+ }
|
|
|
+
|
|
|
+}
|