当前位置: 首页 > news >正文

个人网站备案怎么做百度业务推广

个人网站备案怎么做,百度业务推广,英文专业的网站建设,游戏小程序代理问题描述 ViewPage2嵌套FragmentSeekBar,拖动SeekBar的进度条时,触发ViewPage2的滑动。 解决方案: 方案一:通过事件总线ViewPage2的isUserInputEnabled属性 子Fragment: class SeekBarFragment : Fragment() {priv…

问题描述

ViewPage2嵌套Fragment+SeekBar,拖动SeekBar的进度条时,触发ViewPage2的滑动。


解决方案:

方案一:通过事件总线+ViewPage2的isUserInputEnabled属性

子Fragment:

class SeekBarFragment : Fragment() {private SeekBar seekBar;private val eventBus = EventBus.getInstance()override fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)seekBar= view.findViewById(R.id.seekBar);// 设置SeekBar的监听器seekBar.setOnSeekBarChangeListener(object : OnSeekBarChangeListener {override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {}override fun onStartTrackingTouch(seekBar: SeekBar?) {eventBus.post(SeekBarEvent.Start)}override fun onStopTrackingTouch(seekBar: SeekBar?) {eventBus.post(SeekBarEvent.End)}})}
}

父Fragment:

class ParentFragment : Fragment() {private val eventBus = EventBus.getInstance()override fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)// 订阅SeekBar的滑动事件eventBus.events.observe(viewLifecycleOwner) {when (it) {is SeekBarEvent.Start -> {//禁止ViewPager2滑动viewPager2.isUserInputEnabled = false}is SeekBarEvent.End -> {// 允许ViewPager2滑动viewPager2.isUserInputEnabled = true}}}}override fun onDestroyView() {super.onDestroyView()// 取消订阅以避免内存泄漏eventBus.events.removeObservers(viewLifecycleOwner)}
}

SeekBarEvent 类:

sealed class SeekBarEvent {object Start : SeekBarEvent()object End : SeekBarEvent()
}

方案二:接口回调的方式

OnSeekBarSlideListener

interface OnSeekBarSlideListener {fun onSlideStart()fun onSlideEnd()
}

子Fragment

class SeekBarFragment : Fragment() {private var seekBarSlideListener: OnSeekBarSlideListener? = nullfun setOnSeekBarSlideListener(listener: OnSeekBarSlideListener) {seekBarSlideListener = listener}private SeekBar seekBar;override fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)seekBar= view.findViewById(R.id.seekBar);// 设置SeekBar的监听器seekBar.setOnSeekBarChangeListener(object : OnSeekBarChangeListener {override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {}override fun onStartTrackingTouch(seekBar: SeekBar?) {seekBarSlideListener?.onSlideStart()}override fun onStopTrackingTouch(seekBar: SeekBar?) {seekBarSlideListener?.onSlideEnd()}})}
}

父Fragment

class ParentFragment : Fragment(), OnSeekBarSlideListener {private val fragments= ArrayList<Fragment>()private lateinit var viewPager: ViewPager2private lateinit var adapter: MyFragmentAdapterprivate var seekBarFragment : SeekBarFragment ? = nulloverride fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {val view = inflater.inflate(R.layout.fragment_parent, container, false)fragments.add(SeekBarFragment ())// 初始化适配器并设置给ViewPager2adapter = MyPagerAdapter(childFragmentManager, lifecycle, mFragments)viewPager.adapter = adapter// 设置页面变化监听viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {override fun onPageSelected(position: Int) {super.onPageSelected(position)// 获取当前子Fragment实例seekBarFragment = adapter.createFragment(position) as? SeekBarFragmentseekBarFragment?.let { it.setOnSeekBarSlideListener(this)}}})return view}// 实现OnSeekBarSlideListener的回调override fun onSlideStart() {// 禁用ViewPager2的滑动viewPager2.isUserInputEnabled = false}override fun onSlideEnd() {// 重新启用ViewPager2的滑动viewPager2.isUserInputEnabled = true}
}

MyPagerAdapter

class MyPagerAdapter(private val fragments: ArrayList<Fragment>) : FragmentStateAdapter {constructor(fragmentManager: FragmentManager, lifecycle: Lifecycle, fragments: ArrayList<Fragment>) : this(fragments) {super(fragmentManager, lifecycle)}override fun createFragment(position: Int): Fragment {return fragments[position]}override fun getItemCount(): Int {return fragments.size}
}
http://www.mmbaike.com/news/69344.html

相关文章:

  • 郑州网站建设专家怎么让百度收录网站
  • 大埔做网站百度公司简介介绍
  • 医院网站建设策划河南搜索引擎优化
  • dw网站制作中山网站建设公司
  • 网站中怎么做图片的变换南京seo排名优化公司
  • 台湾设计师网站免费域名注册服务网站
  • 蔚县做网站关键词推广seo
  • 谷城今日疫情百度快速收录seo工具软件
  • 河南网站备案地址软文写作什么意思
  • 做区块链网站的公司新闻头条今日要闻国内新闻最新
  • mysql做网站怎么查看数据营销策略从哪几个方面分析
  • 网站做政务网站策划是做什么的
  • 网站建设进展报告百度搜索排行榜风云榜
  • 杭州哪家公司做网站好没经验怎么开广告公司
  • 国内公关公司排名襄阳seo推广
  • 新品牌营销策划方案电商网站seo怎么做
  • 网站开发转码手机搜狗快速收录方法
  • 0元购怎么在网站做seo网站分析工具
  • icp备案网站建设方案书企业网站推广的一般策略
  • 网站页面设计怎么做推广平台软件有哪些
  • css个人简介网站怎么做数据平台
  • 路由器做网站教程网站页面设计模板
  • 成都商城网站制作seo 页面
  • 网络营销网站建设公司百度霸屏推广
  • 做网站电脑配置要求个高吗可以直接进入的舆情网站
  • 新浪企业邮箱北京百度seo
  • 用jsp做的汽车网站sem是什么岗位
  • 宁城县建设局网站灰色推广
  • 如何自己建设简单的手机网站首页深圳网络推广建站
  • 服务器上搭建网站怎么做盲盒