常见的列表,表格布局(2)
7.简单聊天
8.仿朋友圈
9.顶部悬停(简单吸顶)
效果图
实现方式: BaseAdapter 实现
getItemViewType 方法 通过Type去定义是收到的信息或者是本人发送的信息。
下面选择面板使用简单的隐藏显示的方式进行展示。这个只是一个简单的实现。 可以通过ViewPager+RecyleView/GridView 实现仿QQ的聊天面板
原作者:https://github.com/Naoki2015/CircleDemo
朋友圈实现是 从github上借鉴的 由于大神的代码是 MVP模式做的 ,我将代码重构 用我们习惯的MVC去重新构建了一下。 主要的自定义组件是 九宫格图片 和 点赞人列表 更多展开
顶部悬停
一个简单的RecyleView 和 外部布局就可以轻松实现。
一个相对布局中放入一个Recyleview 然后放入悬停View 布局
将悬停布局抽出来。将它设置成为 RecycleView的HeadView
mainRecycler.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
int[] location = new int[2];
mImageView.getLocationOnScreen(location);
int y = location[1];
Log.d("MYTAG","imageY == "+y);
imageY = y;
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (mHeaderView == null) return;
int getTop = mHeaderView.getDistanceY();
Log.d("MYTAG","getTop == "+getTop);
if (getTop <= imageY) {
mImageView.setVisibility(View.VISIBLE);
} else {
mImageView.setY(0);
mImageView.setVisibility(View.GONE);
}
}
mainRecycler.addOnScrollListener 通过滚动进行对相对布局中的 头部View进行 显示隐藏