学习目的:
- 掌握UI设计中的layout布局(约束布局)与基本控件(button、text、imageview等);
- 掌握复杂控件与adapter的使用(请使用RecycleView进行设计)。在主界面中的某个tab页里添加列表项。
功能说明:
在基础门户页面的某个tab页面中添加recycleview.以及在上一列表页面的基础上进行点击跳转设计。
在四个tab页面中的聊天界面使用recycleview设计列表模式。
使用RecyclerView时候,必须指定一个适配器Adapter和一个布局管理器LayoutManager。
当完制作一个界面的布局时,我们要向里面传数据,怎么去传呢?全写在xml文件里显而不合适,这就是Adapter的作用。简而言之,Adapter就是数据与ui之间的桥梁,它把数据与前端ui连接到一起,是一个展示数据的载体。而设置布局管理器RecyclerView则是来控制Item的布局方式,横向、竖向以及瀑布流方式。
例如:你想控制横向或者纵向滑动列表效果可以通过LinearLayoutManager这个类来进行控制(与GridView效果对应的是GridLayoutManager,与瀑布流对应的还StaggeredGridLayoutManager等)。也就是说RecyclerView不再拘泥于ListView的线性展示方式,它也可以实现GridView的效果等多种效果。
代码部分:
Recycleviewchat.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_chat_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#DCDFE6"
android:orientation="vertical"
tools:context=".ChatActivity">
<!--聊天界面顶部-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<ImageView
android:id="@+id/activity_chat_imageView_back"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:layout_weight="1"
android:scaleType="center"
app:srcCompat="@drawable/back" />
<TextView
android:id="@+id/activity_chat_textView1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="8"
android:gravity="center"
android:text="TextView"
android:textSize="30sp" />
<ImageView
android:id="@+id/activity_chat_imageView_settings"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:scaleType="center"
app:srcCompat="@drawable/settings" />
</LinearLayout>
<View
android:layout_width="matc