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

潍坊建立企业网站公司2024年5月新冠高峰

潍坊建立企业网站公司,2024年5月新冠高峰,徐州低价seo,wordpress可以干啥一、介绍 Android开发过程中,我们经常会遇到滑动导航栏的做法,之前的做法就是我们通过ViewGroup来转动,然后通过大量的自定义来完成,将导航栏item与viewpage 滑动,达到业务需求 二、现实方案 通过介绍,我…

一、介绍

Android开发过程中,我们经常会遇到滑动+导航栏的做法,之前的做法就是我们通过ViewGroup来转动,然后通过大量的自定义来完成,将导航栏item与viewpage

滑动,达到业务需求

二、现实方案

通过介绍,我们大概知道业务情况。针对这种需求,Google在material库中提供了一套解决方案,低代码就可以解决这类问题。

1.需要引入库

implementation 'com.google.android.material:material:1.5.0'

2.控件三剑客

TabLayout+ViewPager2+TabLayoutMediator
TabLayout

负责item的view,创建与管理,并提供了item的管理,和下划线的管理

app:tab开头,主要是tabview的管理,

app:tabIndicator:主要是对下划线管理,更多资料,可以自己实现
    <com.google.android.material.tabs.TabLayoutandroid:id="@+id/layoutItem"android:layout_width="match_parent"android:layout_height="80dp"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintTop_toTopOf="parent"app:tabBackground="@null"app:tabGravity="fill"app:tabIndicatorHeight="2dp"app:tabIndicatorColor="@color/teal_200"app:tabIndicatorGravity="bottom"app:tabMaxWidth="0.0dp"app:tabIndicatorFullWidth="false"app:tabMode="fixed"/>
ViewPager2:

就是我们常见的viewpage2,只要实现完即可。

TabLayoutMediator:

是管理tablayout与viewpage2的联动,不需要额外的任何支持。所有的滑动与联动关系已处理好了,实现了低代码

注意:正常viewpage2的itemcount要和tablayout准备的资源数组长度一样,否则出现数据越界或者达不到自己的要求。

       mediator=  TabLayoutMediator(tablayout!!,viewPager!!,{tab,position->tab.text=titleArray.get(position)})if (!mediator!!.isAttached){mediator!!.attach()}

以上就是绑定关系,tab的处理是通过准备好的资源,需要对tab处理,可以在回调中进行。

详细demo:

class TabLayoutActivity:FragmentActivity() {private val titleArray by lazy { resources.getStringArray(R.array.title) }private var viewPager: ViewPager2? = nullprivate var adapter: MyAdapter? = nullprivate var tablayout:TabLayout?=nullprivate var mediator:TabLayoutMediator?=nulloverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.layout_tablayout)viewPager = findViewById(R.id.viewpage)adapter = MyAdapter(this)viewPager?.apply {orientation = ViewPager2.ORIENTATION_VERTICALadapter = this@TabLayoutActivity.adapter}tablayout=findViewById(R.id.layoutItem)mediator=  TabLayoutMediator(tablayout!!,viewPager!!,{tab,position->tab.text=titleArray.get(position)})if (!mediator!!.isAttached){mediator!!.attach()}adapter!!.addData(titleArray.toMutableList())}inner class MyAdapter : FragmentStateAdapter {constructor(activity: FragmentActivity) : super(activity)private val mlsit = mutableListOf<Fragment>()override fun getItemCount(): Int {return mlsit.size}override fun createFragment(position: Int): Fragment {return mlsit.get(position)}public fun addData(list: List<String>) {list.forEachIndexed { index, it ->mlsit.add(MyFragment.getInstance(it))}notifyItemRangeChanged(0, mlsit.size)}}
}

http://www.yayakq.cn/news/180285/

相关文章:

  • 厦门网站建设多少钱网站推广应该怎么做?
  • html5自适应网站模板项目建设综述
  • 浏览网站内下载文件长沙网站设计我选刻
  • 建设高端网站公司营销策略都有哪些
  • 网站托管共享服务器费用一年多少钱有限公司注册资金
  • 上海云盾为网站做防护南昌网站设计公司哪家好
  • 铜仁网站建设创意网络
  • 哪个网站可以做会计分录discuz模板下载
  • 碑林网站制作织梦网站教程
  • 关于网站建设的名言简述电子商务网站建设流程
  • 网站的构建一般要多久广州最穷的三个区
  • 网站建设公司有哪几家合肥seo推广外包
  • 德州公司做网站古风网站建设
  • 网站公司成功案例怎么写被网站管理员设置拦截
  • 网站上的广告怎么做游戏网站建设网
  • 怎么塔建网站上海装修找哪家公司好
  • 网站建设成功案例怎么写网易官网建立个人网站
  • 网站策划专有技术宁波seo行业公司推荐
  • 做网站 每月赚 钱皮肤科医生免费问诊
  • 建建建设网站公司网站wordpress怎么看代码
  • 潮州专业网站建设制作昆明自助建站模板
  • 河北省建设厅网站老版wordpress列表分页 js
  • 中国工程建设质量管理协会网站做词云的网站
  • 科技数码app排名快速排名seo
  • 电子商务网站用户行为分析及服务推荐北京展示型网站
  • 做淘宝差不多的网站吗微网站建设合同
  • php和django做网站哪个好win8风格手机网站模板
  • 怎样做公司的网站建设app使用什么做的网站
  • 以下可以制作二维码的网站为广西执业药师培训网站
  • 关键词设定在网站上大地影院资源免费观看视频