您的当前位置:首页正文

Android从0到完整项目(5)常见的列表,表格布局(2)

来源:花图问答

常见的列表,表格布局(2)

7.简单聊天

8.仿朋友圈

9.顶部悬停(简单吸顶)

效果图

简单聊天
简单聊天

实现方式: BaseAdapter 实现
getItemViewType 方法 通过Type去定义是收到的信息或者是本人发送的信息。
下面选择面板使用简单的隐藏显示的方式进行展示。这个只是一个简单的实现。 可以通过ViewPager+RecyleView/GridView 实现仿QQ的聊天面板

朋友圈

顶部悬停

顶部悬停 顶部悬停

一个简单的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进行 显示隐藏