美文网首页Android文集android 集结号
仿微信 未读消息 标识显示

仿微信 未读消息 标识显示

作者: Luh的星河 | 来源:发表于2019-01-30 11:01 被阅读0次
01.gif

步骤:

  • 基于RecyclerView
  • 数据默认显示最后一个
  • 监听 RecyclerView Scroll 方法
    ArrayList<String> sts = new ArrayList<>();
        for (int i = 0; i < 50; i++) {
            sts.add("第 " + i + " 条数据");
        }
        mRecyclerView.setHasFixedSize(true);
        final ScrollSpeedLinearLayoutManger layoutManager = new ScrollSpeedLinearLayoutManger(this);
        mRecyclerView.setLayoutManager(layoutManager);
        mItemAdapter = new ItemAdapter(this, sts);
        mRecyclerView.setAdapter(mItemAdapter);
        mRecyclerView.smoothScrollToPosition(mItemAdapter.getItemCount() - 1);

        mTxtNoReadingType.setText("^ 10 条未读");
        mTxtNoReadingType.startAnimation(AnimationUtils.loadAnimation(this, R.anim.in_x));

        mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
                super.onScrollStateChanged(recyclerView, newState);
            }

            @Override
            public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
                int position = layoutManager.findFirstVisibleItemPosition();
                Log.i(TAG, "onScrolled: position================" + position);
                if (mItemAdapter != null && position != 0) {
                    int count = mItemAdapter.getItemCount();
                    if(mTxtNoReadingType.getVisibility()==View.VISIBLE){
                        if (count - position == 10) {
                            mTxtNoReadingType.startAnimation(AnimationUtils.loadAnimation(MainActivity.this, R.anim.out_x));
                            mTxtNoReadingType.setVisibility(View.INVISIBLE);
                        }
                    }
                }
            }
        });
   <?xml version="1.0" encoding="utf-8"?>
   <set xmlns:android="http://schemas.android.com/apk/res/android"
      android:duration="500">
      <translate
         android:fromXDelta="100%"
         android:toXDelta="0%"
         />
   </set>

   <?xml version="1.0" encoding="utf-8"?>
   <set xmlns:android="http://schemas.android.com/apk/res/android"
      android:duration="500">
      <translate
         android:fromXDelta="0%"
         android:toXDelta="100%"
         />
   </set>

相关文章

  • 仿微信 未读消息 标识显示

    步骤: 基于RecyclerView 数据默认显示最后一个 监听 RecyclerView Scroll 方法

  • 2020-06-15

    ios 仿微信消息列表页面, 双击tabBar, 自动滑动至下一条未读消息的位置 - (BOOL)tabBarCo...

  • 仿QQ未读消息的动画效果

    仿QQ未读消息的动画效果 虽然目前使用QQ的人不是很多了,尤其是工作以后,大家基本上都是在使用微信,但是QQ未读消...

  • 融云设置已读,未读消息标识

    融云设置已读,未读消息标识 需求:会话列表,以及会话界面发出去的消息前面加上已读,未读的标识 官方给的解决方案 1...

  • 仿微信双击tabbar依次跳到未读消息

  • 未读消息

    手机整天不离手,微信消息天天有。 这不嘛,几天没怎么看微信,未读消息就多达成百上千条。 这些未读消息光是看也要花费...

  • 星期日的一天

    日常早起刷牙洗脸 翻了翻微信 没有未读消息 煮了...

  • 很高兴回忆你

    微信显示有一条未读消息,是来自微信运动的点赞,哈哈,往上翻了翻,最近有一个人经常给我点赞,哪怕我走了不到五十步。 ...

  • 推送显示未读消息数量

    在实际开发中会有这样还一个需求,显示推送过来的未读消息数量推送实时更新未读消息数量,接收到【一条消息】,就【显示未...

  • [开源APP推荐] LXFWeChat – Swift 3.0

    LXFWeChat - Swift 3.0 高仿微信 目前完成的功能 微信界面 显示右上角的菜单 显示最近联系人 ...

网友评论

    本文标题:仿微信 未读消息 标识显示

    本文链接:https://www.haomeiwen.com/subject/emvqsqtx.html