1.RecyclerView

2.CardView

3.Palette

《Material Design》(http://www.linuxidc.com/Linux/2014-09/106824.htm)提到,AndroidL版本中新增了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);


}


更多相关文章

  1. Android内存泄漏的原因及解决技巧
  2. Android:解决ViewPager和(RecyclerView、HorizontalScrollView)内部
  3. Android(安卓)LruCache源码详解
  4. 【Android】音乐播放器边播边缓存(二)AndroidVideoCache的后台播放
  5. android 内存和性能优化汇总
  6. Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运
  7. Android绘图机制(四)自定义控件
  8. Android(安卓)View架构总结
  9. 性能优化系列总篇

随机推荐

  1. 【Android】 桌面图标右上角显示数字(角
  2. android开机动画播放流程
  3. [Android] 全面了解Activity
  4. java.util.zip.ZipException: duplicate
  5. Android中的Handler总结(转帖)
  6. Android(安卓)4.0 虚拟按键、手机模式、
  7. android:Adapter中无法设置textview字体颜
  8. Mac下配置Adb环境变量
  9. android onGenericMotionEvent(MotionEve
  10. android中的init.rc