Android 使用RecyclerView实现展开和收缩的布局显示
上周完成了wechat基本布局和跳转的页面功能。在这些基础上,本周通过学习RecyclerView的使用方法,实现了简单的展开和收缩布局显示。
首先是增加item.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="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/rl_parent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/background_light">
<TextView
android:id="@+id/tv_team"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="主布局"
android:textStyle="bold"
android:textColor="@android:color/black"
android:textSize="40sp" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_child"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="@android:color/darker_gray"
android:visibility="gone">
<TextView
android:id="@+id/tv_team_child"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="副布局"
android:textColor="@android:color/black"
android:textSize="28sp" />
</RelativeLayout>
</LinearLayout>
接着在将要显示的布局tab01.xml中添加RecyclerView
<?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.support.v7.widget.RecyclerView
android:id="@+id/rcv_expandcollapse"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:overScrollMode="never"
android:scrollbars="none"/>
</LinearLayout>
layout修改部分完成。
adapter通过对list列表数据封装,实现recyclerview中的数据显示。
public class adapter extends RecyclerView.Adapter<adapter.myviewholder>{
private Context context;
private List<String> mlist = new ArrayList<>();
private int expandPosition = -1;
private myviewholder mViewholder;