RecyclerView 练习(二)
来源:互联网 发布:二级备案域名 编辑:程序博客网 时间:2024/06/05 03:44
二、实现横向滚动
ListView 的扩展性并不好,它只能实现纵向滚动的效果。但是 RecyclerView 可以轻松地做到。
首先对 fruit_item.xml 布局进行修改,因为目前这个布局里面地元素是水平排列的,适用于纵向滚动的场景,而如果要实现横向滚动的话应该把 fruit_item.xml 里的元素改成垂直排列才比较合理。代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="100dp" android:layout_height="wrap_content"> <ImageView android:id="@+id/fruit_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" /> <TextView android:id="@+id/fruit_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="10dp"/></LinearLayout>
接下来修改 MainActivity.java 中的代码:
public class MainActivity extends AppCompatActivity { private List<Fruit> fruitList = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initFruits(); RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view); LinearLayoutManager layoutManager = new LinearLayoutManager(this); layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); /*StaggeredGridLayoutManager layoutManager = new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.VERTICAL);*/ recyclerView.setLayoutManager(layoutManager); FruitAdapter adapter = new FruitAdapter(fruitList); recyclerView.setAdapter(adapter); }}
在上述代码中,MainActivity.java 文件只加入了一行代码,调用 LinearLayoutManager 的 setOrientation() 方法来设置布局的排列方式,默认是纵向排列的。传入 LinearLayoutManager.HORIZONTAL 表示让布局横向排列。
运行一下程序
0 0
- RecyclerView 练习(二)
- RecyclerView 练习(一)
- RecyclerView 练习(三)
- RecyclerView 解析(二)
- 理解RecyclerView的RecyclerView.ItemDecoration(二)
- RecyclerView使用详解(二)
- RecyclerView使用详解(二)
- RecyclerView使用详解(二)
- RecyclerView使用详解(二)
- RecyclerView使用详解(二)
- RecyclerView总结学习(二)
- RecyclerView剖析学习(二)
- RecyclerView使用详解(二)
- RecyclerView解密篇(二)
- RecyclerView使用详解(二)
- 从零开始学习RecyclerView(二)
- RecyclerView + CardView 基础练习
- 查询练习(二)
- Qt之Tab键切换焦点顺序
- SVM 支持向量机(3) SMO算法小结
- JAVA字符串转化为数字(可以适合大部分)
- 32.日志文件
- caffe ubuntu14.04 截屏版
- RecyclerView 练习(二)
- 设计模式之---观察者模式简单分析
- 把外部文件拷贝的AVD安卓模拟器上的sdcard上,并且在AVD中浏览sdcard的文件
- java环境变量配置
- PAT L2-012. 关于堆的判断
- Java中的CopyOnWrite容器
- 最大公约数的计算____C++
- java语言基础(22)——面向对象(匿名对象的使用)
- <39>python学习笔记——键盘鼠标