MainActivity 简单编写

edge_sky Lv2

文件结构

  1. 在 activity_main.xml 中放置一个 viewpaper2 布局,并在同级 layout 文件夹中放置多个 tap.xml,表示子页面
  2. 在 java 包中对每个页面建立一个类,,名为 fragment,用于显示子页面,关联相应的 tab.xml 文件
  3. 建立一个文件,作为适配器(Adapter),处理 viewpaper 的多个页面。创建每个子页面的实例
  4. 最后在 MainActivity 创建适配器实例,显示多个子页面

栗子

1
2
3
4
aifragment.xml----AiFragment.kt----|
|-ViewPagerAdapter.kt--|
homefragment.xml--HomeFragment.kt--| |--MainActivity.kt
viewpager2--activity_main.xml------|

AiFragment.kt

1
2
3
4
5
6
7
8
9
10
11
// 继承 Fragment()
class AiFragment : Fragment() {
// 重写方法,用于创建该 Fragment 视图
override fun onCreateView(
inflater: LayoutInflater,// 将布局文件转换为视图对象
container: ViewGroup?,// 将 Fragment 视图添加到父视图中
savedInstanceState: Bundle?// 如果 Fragment 从之前保存的状态中重新创建,这个 Bundle 将包含它的数据。否则,它将是 null
): View? {// 将该布局转换为 View 对象并返回
return inflater.inflate(R.layout.aifragment, container, false)// false 表示告诉系统不要将生成的视图附加到 container。这是因为系统将在你返回视图后自动执行此操作。
}
}

MainActivity.kt

1
2
3
4
5
6
7
8
9
10
11
12
class MainActivity : AppCompatActivity() {
// 重写 onCreate 方法,该方法是Activity 生命周期中的第一个方法,当 Activity 被创建时,它会被调用
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)// 对父类方法的调用
enableEdgeToEdge()// 使应用覆盖到状态栏等区域,更加沉浸
setContentView(R.layout.activity_main)// 设置 Activity 布局,传入布局的 id

val viewPage: ViewPager2 = findViewById(R.id.view_page)// 创建一个变量,获取某个 ViewPager2 的组件 id
viewPage.adapter = ViewPagerAdapter(this)// 将 viewPage 的适配器指向我们自己创建的适配器,传入参数 this 指向当前 MainActivity 实例
}

}
  • 标题: MainActivity 简单编写
  • 作者: edge_sky
  • 创建于 : 2024-05-31 10:03:14
  • 更新于 : 2024-07-01 22:50:06
  • 链接: https://edgesky.cn/2024/05/31/基于 viewpager2 实现左右翻页/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
此页目录
MainActivity 简单编写