一、设计目标
- 设计一个app的门户框架,能够实现4个tab页面的切换效果。
- 能够在任一tab页面中实现列表效果。
二、功能说明
设计一个类微信界面,主要分为上中下三个部分,通过下方按钮实现“聊天”、“联系人”、“发现”以及“设置”这四个页面的切换,并在“聊天”页面中实现列表功能。
三、效果展示
四、技术说明
-
Activity:
-
Activity 是 Android 应用程序中的一个基本组件,它提供了一个用户界面。每个 Activity 都有一个布局文件,用于定义其用户界面。Activity 可以通过 Intent 启动其他 Activity,也可以接收其他 Activity 发送的 Intent。
-
XML:
-
XML 是一种标记语言,用于描述数据。在 Android 应用程序中,XML 通常用于定义用户界面,用来编写布局文件。
-
Fragment:
-
Fragment 是 Android 应用程序中的另一个基本组件,它可以嵌入到 Activity 中。Fragment 可以有自己的布局文件和生命周期,可以在运行时添加、删除或替换。
-
RecyclerView:
-
RecyclerView 是 Android 应用程序中的一个高级控件,用于显示大量数据列表。与 ListView 不同,RecyclerView 允许自定义列表项的布局和交互方式,并提供了更好的性能和灵活性。
五、设计流程
-
主页面布局activity_main1.xml
主页面布局分为上中下三个部分,顶部由top.xml文件实现,因为需要切换四个页面,所以中间的内容分别包含在fragment1.xml、fragment2.xml、fragment3.xml和fragment4.xml中,底部由buttom.xml文件实现。使用include插入top.xml、中间的fragment.xml以及buttom.xml文件。
具体代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
layout="@layout/top"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<androidx.fragment.app.FragmentContainerView
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
<include
layout="@layout/buttom"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>