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
原创粉丝点击