歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android L中的RecyclerView 、CardView 、Palette的使用

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

日期:2017/3/1 9:39:41   编辑:Linux編程

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