歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android L中的RecyclerView 、CardView 、Palette的使用

1.RecyclerView

2.CardView

3.Palette

《Material Design》(http://www.linuxidc.com/Linux/2014-09/106824.htm)提到,Android L版本中新增了RecyclerView、CardView 、Palette。RecyclerView、CardView為用於顯示復雜視圖的新增Widget。Palette作為調色板類,可以讓你從圖像中提取突出的顏色。

RecyclerView

RecyclerView作為替代ListView使用,RecyclerView標准化了ViewHolder,ListView中convertView是復用的,在RecyclerView中,是把ViewHolder作為緩存的單位了,然後convertView作為ViewHolder的成員變量保持在ViewHolder中,也就是說,假設沒有屏幕顯示10個條目,則會創建10個ViewHolder緩存起來,每次復用的是ViewHolder,所以他把getView這個方法變為了onCreateViewHolder。 ViewHolder更適合多種子布局的列表,尤其IM的對話列表。RecyclerView不提供setOnItemClickListener方法,你可以在ViewHolder中添加事件。RecyclerView的使用可以參考《Material Design UI Widgets》 http://www.linuxidc.com/Linux/2014-09/106840.htm 。

RecyclerView可以實現橫向、縱向滑動視圖:

RecyclerView 1

RecyclerView 2

設置橫向:

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_recycler_view_horizontal);

        // specify an adapter (see also next example)
        List<MyAdapter.Item> itemList = new ArrayList<MyAdapter.Item>();
        for (int i = 0; i < 100; i++)
            itemList.add(new MyAdapter.Item("Item " + i, "world"));
        mAdapter = new MyAdapter(itemList);


        mRecyclerViewHorizontal = (RecyclerView) findViewById(R.id.my_recycler_view_horizontal);
        mRecyclerViewHorizontal.setHasFixedSize(true);

        // use a linear layout manager
        LinearLayoutManager mLayoutManager = new LinearLayoutManager(this);
        mLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
        mRecyclerViewHorizontal.setLayoutManager(mLayoutManager);
        mRecyclerViewHorizontal.setAdapter(mAdapter);


    } 

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-09/106841p2.htm

Copyright © Linux教程網 All Rights Reserved