仿微信聊天列表之RecyclerView多布局

背景

最近在做关于聊天的项目,需要用到RecyclerView多布局,然而在网上却没有比较详细的讲解,于是萌生了自己写一篇的念头,可能写的不好,不喜勿喷。转载请标明出处,原创不易


效果图

不废话直接先上效果图:




代码

既然说到RecyclerView,那就不能不提RecyclerViewAdapter,首先我们要有一个类继承RecyclerView.Adapter,有三个必须重写的方法:


1、onCreateViewHolder(ViewGroup parent, int viewType),这个方法的作用判断选择哪个布局,有两个参数,第一个是viewHolder的容器,第二个参数相当于一个标识,根据标识可以绑定具体的ViewHolder。


2、onBindViewHolder(final RecyclerView.ViewHolder holder, int position),根据方法名,我们就可以大概知道他是绑定布局的,同样有两个参数,position是当前那一行所在的位置,来看代码




既然能绑定指定的item,当然就能给指定的item设置点击事件了,我设置的点击事件是,点击吐司当前的position,长按删除当前item。

3、getItemCount(),这个方法比较简单,绑定RecyclerView Item的数量


4、要实现绑定多布局最关键的方法啦,getItemViewType(int position),一个参数,根据当前的position指向指定布局,也就是为onCreateViewHolder方法提供第二个参数。




5、然后再来看先下ViewHolder和点击事件是怎么写的吧




6、最后再来看看Activity是实现的吧



这里简单的说明一下,楼主用到了ButterKnife注解库,如果你没用过,那么完全没关系,用到的控件findviewbyid一下就好啦,不过这个注解库确实挺强大的,推荐学习下,网上有好多教程的,如果还不会,给我留言我可以教你。哈哈,不能说教,共同进步,共同进步…

End

楼主也是才接触RecyclerView控件不久,也是菜鸟一名,可能理解的不是很透彻,哪里写的不对或有什么问题欢迎在下面给我评论,喜欢的话给我点赞哦。


本文源码,点我点我..

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Android Studio中实现仿微信聊天界面可以使用ViewPager和Fragment相结合的方法。以下是一个简单的示例代码[^1]: 1. 首先,在布局文件中添加ViewPager和TabLayout组件,用于显示聊天页面和切换页面。 ```xml <androidx.viewpager.widget.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" /> <com.google.android.material.tabs.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorPrimary" app:tabTextColor="@android:color/white" app:tabSelectedTextColor="@android:color/white" app:tabIndicatorColor="@android:color/white" /> ``` 2. 创建Fragment类,用于显示聊天页面的内容。 ```java public class ChatFragment extends Fragment { // 在这里实现聊天页面的布局和逻辑 // 可以使用RecyclerView来显示聊天消息列表 } ``` 3. 创建PagerAdapter类,用于管理ViewPager中的Fragment。 ```java public class ChatPagerAdapter extends FragmentPagerAdapter { private List<Fragment> fragmentList; public ChatPagerAdapter(FragmentManager fm, List<Fragment> fragmentList) { super(fm); this.fragmentList = fragmentList; } @Override public Fragment getItem(int position) { return fragmentList.get(position); } @Override public int getCount() { return fragmentList.size(); } } ``` 4. 在Activity中设置ViewPager和TabLayout,并创建Fragment列表。 ```java ViewPager viewPager = findViewById(R.id.viewPager); TabLayout tabLayout = findViewById(R.id.tabLayout); List<Fragment> fragmentList = new ArrayList<>(); fragmentList.add(new ChatFragment()); fragmentList.add(new GroupChatFragment()); ChatPagerAdapter pagerAdapter = new ChatPagerAdapter(getSupportFragmentManager(), fragmentList); viewPager.setAdapter(pagerAdapter); tabLayout.setupWithViewPager(viewPager); ``` 通过以上步骤,你可以在Android Studio中实现仿微信聊天界面。你可以根据自己的需求进行布局和逻辑的设计,例如使用RecyclerView来显示聊天消息列表,实现发送消息等功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值