本文主要是介绍Android5.0之RecyclerView、CardView、Palette简述(后面逐步发详细的),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
除了视觉上的进化,Android5.0还为开发者带来了5000个新API以及2个UI Widget,从而让设备间更具整体感及互联性。谷歌表示,类似歌曲、照片、应用及最近搜索的结果,都能够在各种Android设备上无缝同步,这便是Android5.0想要呈现的使用体验。另外,Android5.0还包括新的电池模式、多账户登陆、访客模式以及通过蓝牙设备解锁等新功能。
总得来说,Android5.0是继4.0之后的一次重大更新,谷歌也希望通过新版本,来更好地统一Android的用户体验、设备交互能力,值得期待。当然,Android5.0正式推出后,第三方手机厂商也会获得原始版本,但需要数月时间来进行定制,所以三星、HTC的旗舰机型还需要一些时间才能升级到Android5.0。
RecyclerView是一个更高级柔性版本的Listview,RecyclerView是一个能包含很多视图的容器,它能完美的处理循环和滚动。在item动态变化的Listview使用RecyclerView。
RecyclerView使用很简单,因为它提供了:
1、定位item的布局管理器
2、常见的item操作默认动画
你能够灵活的为RecyclerView自定义布局管理器和动画。
RecyclerView widget
- @Override
- public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
- int viewType) {
- // create a new view
- View v = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.my_text_view, null);
- // set the view's size, margins, paddings and layout parameters
- ...
- ViewHolder vh = new ViewHolder(v);
- return vh;
- }
- @Override
- public void onBindViewHolder(ViewHolder holder, int position) {
- // - get element from your dataset at this position
- // - replace the contents of the view with that element
- holder.mTextView.setText(mDataset[position]);
- }
CardView继承自FrameLayout类,可以在一个卡片布局中一致性的显示内容,卡片可以包含圆角和阴影。CardView作为一个Layout,可以布局其他View
2、使用android:cardCornerRadius属性指定圆角半径
3、使用CardView.setRadius 设置圆角半径。
Material Theme提供了一下功能:
1、系统widgets可以设置调色板
2、系统widgets的触摸反馈
3、Activity过渡动画
你可以根据你品牌的色彩来定义Material Theme,可以使用Material Theme的色彩为status bar、action bar着色。参考下图。
系统Widgets有新的设计和触摸动画,你也可以在自己的应用中自定义色彩调色板、触摸反馈动画、Activity过渡。
Material Theme的定义如下:
@android:style/Theme.Material
(dark version)@android:style/Theme.Material.Light
(light version)@android:style/Theme.Material.Light.DarkActionBar
Palette从图像中提取突出的颜色,可以把色值赋给ActionBar、或者其他view,可以让界面整个色调统一。
Palette这个类中提取以下突出的颜色:
Vibrant (有活力)
Vibrant dark(有活力 暗色)
Vibrant light(有活力 亮色)
Muted (柔和)
Muted dark(柔和 暗色)
Muted light(柔和 亮色)
- Bitmap bm = BitmapFactory.decodeResource(getResources(), item.image);
- Palette palette = Palette.generate(bm);
- if (palette.getLightVibrantColor() != null) {
- name.setBackgroundColor(palette.getLightVibrantColor().getRgb());
- getSupportActionBar().setBackgroundDrawable(new ColorDrawable(palette.getLightVibrantColor().getRgb()));
- // getSupportActionBar().
- }
这篇关于Android5.0之RecyclerView、CardView、Palette简述(后面逐步发详细的)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!