当前位置:   article > 正文

RecyclerView的基本用法、横向/纵向/网格/瀑布流布局显示及点击事件_recyclerview 横向

recyclerview 横向

ListView只能纵向显示而且还要优化(即手动写代码实现缓存好子项布局文件及其里面控件),而Recycler除了优化好这些,还可以实现横向/纵向/网格/瀑布流布局显示(关键:只需改RecyclerVIew.setLayoutManager(布局类对象实例)中的布局类对象,这个参数的布局不同,就可以实现不同子项显示方式:横向/纵向/网格/瀑布流布局

  • 纵向LinearLayoutManager.VERTICAL:

LinearLayoutManager默认VERTICAL排列,setLayoutManager(布局类对象实例)传入LinearLayoutManager实例对象即可

  • 横向LinearLayoutManager.HORIZONTAL:

先LinearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL),在setLayoutManager(布局类对象)传入LinearLayoutManager实例对象即可

  • 网格GridLayoutManager:

setLayoutManager(布局类对象实例)传入GridLayoutManager实例对象即可,可先为GridLayoutManager实例对象设置点属性先

  • 瀑布流StaggeredGridLayoutManager:

setLayoutManager(布局类对象实例)传入StaggeredGridLayoutManager实例对象即可,StaggeredGridLayoutManager也可以设置瀑布流的排列是VERTICAL还是HORIZONTAL)

  1. RecyclerView的基本用法:

①打开app/build.gradle文件,在dependencies闭包内添加RecyclerView的依赖:

implementation 'com.android.support:recyclerview-v7:28.0.0'(V7:28.0.0仅仅是版本),可以通过Android Studio的Design视图直接添加RecyclerView,就会自动提示添加依赖了

②在要使用RecyclerView的XML中添加RecyclerView控件

  1. <android.support.v7.widget.RecyclerView
  2. android:id="@+id/recycler_view"
  3. android:layout_width="match_parent"
  4. android:layout_height="wrap_content" />

<android.support.v7.widget.RecyclerView这里要用完整的路径

③定义实体类,作为子项里显示的数据的载体

  1. public class Fruit {
  2. private String name;
  3. private int imageId;
  4. public Fruit(String name, int imageId) {
  5. this.name = name;
  6. this.imageId = imageId;
  7. }
  8. public String getName() {
  9. return name;
  10. }
  11. public int getImageId() {
  12. return imageId;
  13. }
  14. }

④自定义子项布局(这里不同,则子项的样式也不同,而改setLayoutManager(***LayoutManager)仅仅是子项的布局和排列不同)

fruit_item.xml:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical" android:layout_width="match_parent"
  4. android:layout_height="wrap_content"
  5. <ImageView
  6. android:id="@+id/fruit_image"
  7. android:layout_width="wrap_content"
  8. android:layout_height="wrap_content" />
  9. <TextView
  10. android:id="@+id/fruit_name"
  11. android:layout_width="wrap_content"
  12. android:layout_height=&#
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/174720
推荐阅读
相关标签
  

闽ICP备14008679号