Android Support Library控件详细介绍之RecyclerView
RecyclerView控件
依赖 compile 'com.android.support:recyclerview-v7:24.1.1'
RecyclerView也是容器控件,大多数的效果显示可通过代码来控制,这样更加自由。
RecyclerView使用起来很方便因为它提供:
1.它为item的定位提供一个layoutmanager
2.为item的操作提供一个缺省的animations
3.您还可以灵活地定义这个小部件的自定义布局管理器和动画
setLayoutManager()方法接受一个 LayoutManager 布局管理参数。参数类型可以有以下几种:
1.LinearLayoutManager:线性布局
2.GridLayoutManager:网格布局
3.StaggeredGridLayoutManager:流式布局
这样设置recylerView.setLayoutManager(new LinearLayoutManager(this, LinearLayout.VERTICAL, true));
第一个参数是Context,第二个参数:布局方向LinearLayout.VERTIAL和LinearLayout.HORIZONTAL。
第三个参数:表示是否从最后的item数据开始显示,true表示是,false表示正常显示——从开头显示。
setItemAnimator()方法的作用是设置当前RecyclerView容器有子Item改变时(添加item或者删除item)导致
整个布局的动画效果。一般我们new 一个系统默认的动画出来就好了
recylerView.setItemAnimator(new DefaultItemAnimator());
Palette
依赖:compile 'com.android.support:palette-v7:22.2.0'
Palette根据图片来决定标题的颜色和标题栏的背景色。
它能让你从图像中提取突出的颜色。这个类能提取以下突出的颜色:
Vibrant(充满活力的)
Vibrant dark(充满活力的黑)
Vibrant light(充满活力的亮)
Muted(柔和的)
Muted dark(柔和的黑)
Muted lighr(柔和的亮)
使用:
1.先获取Bitmap
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.img1);
2.创建Palette
Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {
@Override
public void onGenerated(Palette palette) {
3.采集样本(swatch),有6种样本
Palette.Swatch vibrant = palette.getVibrantSwatch();//有活力
Palette.Swatch DVibrant= palette.getDarkVibrantSwatch();//有活力 暗色
Palette.Swatch LVibrant = palette.getLightVibrantSwatch();//有活力 亮色
Palette.Swatch Muted= palette.getMutedSwatch();//柔和
Palette.Swatch DMuted= palette.getDarkMutedSwatch();//柔和 暗色
Palette.Swatch LMuted = palette.getLightMutedSwatch();//柔和 亮色
4,使用样本
//需要注意的是getVibrantSwatch()可能会返回一个null值,所以检查一下是必须
TextView titleView = ...;
if (LVibrant != null) {
titleView.setBackgroundColor(swatch.getRgb());
titleView.setTextColor(swatch.getTitleTextColor());
}
}
});
使用样本Swatch有以下几种方法:
getPopulation(): the amount of pixels which this swatch represents.(该样本含有的像素数量)
getRgb(): the RGB value of this color.(RGB值)
getHsl(): the HSL value of this color.(HSL值)
getBodyTextColor(): the RGB value of a text color which can be displayed on top of this color.(内容颜色)
getTitleTextColor(): the RGB value of a text color which can be displayed on top of this color.(标题颜色)
介绍一点Bitmap
Bitmap代表一张位图,扩展名可以是.bmp或者.dib。位图是Windows标准格式图形文件,他将图像定义为由点(像素)组成,每个点可以有多种色彩表示,包括2,4,8,16和32位色彩。例如,一幅1024*768分辨率的32位真彩图片,其所占存储字节数为:1024*768*32/8=3072KB。
位图文件图像效果好,但是非压缩格式的,需要占用较大存储空间,不利于在网络上传送。jpg格式则恰好弥补了位图 的这个缺点。
Bitmap是Android系统中的图像处理的最重要类之一。用它可以获取图像文件信息,进行图像剪切,旋转,缩放等操作,并可以指定格式保存图像
文件。
Bitmap实现子啊android.graphics包中。
1.从资源文件中获取
Bitmap rawBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.img1);
2.从SD卡中得到图片
(方法1)
String SDCarePath=Environment.getExternalStorageDirectory().toString();
String filePath=SDCarePath+"/"+"haha.jpg";
Bitmap rawBitmap1 = BitmapFactory.decodeFile(filePath, null);
(方法2)
InputStream inputStream=getBitmapInputStreamFromSDCard("haha.jpg");
Bitmap rawBitmap2 = BitmapFactory.decodeStream(inputStream);
Android Support Library控件详细介绍之RecyclerView的更多相关文章
- Tkinter 控件详细介绍
Tkinter 控件详细介绍 1.Button 按钮.类似标签,但提供额外的功能,例如鼠标掠过.按下.释放以及键盘操作/事件 2.Canvas 画布.提供绘图功能(直线.椭圆.多边形.矩形) ;可以包 ...
- Android 中常见控件的介绍和使用
1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.la ...
- 介绍三个Android支持库控件:TabLayout+ViewPager+RecyclerView
本文主要介绍如下三个Android支持库控件的配合使用: TabLayout:android.support.design.widget.TabLayout ViewPager:android.sup ...
- 使用Android Support Design 控件TabLayout 方便快捷实现选项卡功能
1.概述 TabLayout是在2015年的google大会上,google发布了新的Android Support Design库的新组件之一,以此来全面支持Material Design 设计风格 ...
- Swift UI控件详细介绍(上)
UI控件 首先介绍一下AppDelegate.swift@UIApplicationMain 调用了OC中的UIApplicationMain函数:UIApplicationMain是iOS应用程序的 ...
- Android Support Design 控件 FloatingActionButton
经常刚可以看到悬浮控件,比如印象笔记的下面那个绿色的悬浮按钮,这个控件非常简单也是来自Design Support Library中同理需要在android studio中加入依赖库:design库 ...
- Android自定义组合控件详细示例 (附完整源码)
在我们平时的Android开发中,有时候原生的控件无法满足我们的需求,或者经常用到几个控件组合在一起来使用.这个时候,我们就可以根据自己的需求创建自定义的控件了,一般通过继承View或其子类来实现. ...
- iOS:UIPageViewController翻页控制器控件详细介绍
翻页控制器控件:UIPageViewController 介绍: 1.它是为我们提供了一种类似翻书效果的一种控件.我们可以通过使用UIPageViewController控件,来完成类似图书一样的翻页 ...
- 界面绚丽的SharePoint仪表盘控件Nevron Gauge for SharePoint 控件详细介绍
Nevron .NET Vision 是一款用于创建独特的.强大的数据表示应用程序的最终控件,它具有超强的数据可视化性能. 整合了Nevron Chart for .NET, Nevron Diagr ...
随机推荐
- zookeeper系列之二—zookeeper历史
Zookeeper是什么? Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby的一个开源版本.它是为分布式应用提供一致性服务的软件,提供的功能包括:配置服 ...
- MSM8909平台 LED背光的控制
之前齐师兄问我,是不是应该有一个文件记录背光灯的亮度,我说理论上有,但是在哪里我真的还没有见过.只知道在调LCD驱动的时候会调用一个背光控制的函数,传进来一个亮度值就可以配置亮度了,至于这个函数是谁调 ...
- c#中struct和class的区别 详细[转]
转自:http://blog.csdn.net/justlovepro/archive/2007/11/02/1863734.aspx 有这么几点不同: 1.struct 是值类型,class是对象类 ...
- Android Studio中有用的快捷键栏
Android Studio中有用的快捷键栏#1 Ahraewi线移动 Alt + Shift +向上/向下❖Alt + Shift +向上/向下 或上下移动在所选位置的行. 删除行 CMD + B ...
- FreeSWITCH 1.6在Debian 8上的安装
鉴于上次在CentOS 7上安装不成功,这次换Debian. 现在已经成功的CentOS 7上安装好了. 感兴趣的同学移步https://freeswitch.org/confluence/displ ...
- [51NOD1095] Anigram单词(map)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1095 字典的单词在map中排序和不排序各存1次,查的时候相减. ...
- Maven 3.3.9在Windows上的安装
开始学Maven了,可是我一个项目都木有做过.听过Maven 的大名,用来构建项目的. 下面记录下我安装Maven的过程 1.确认电脑上安装了JDK 在cmd下执行下列命令: java –versio ...
- JAVA操作数组
使用 Arrays 类操作 Java 中的数组 Arrays 类是 Java 中提供的一个工具类,在 java.util 包中.该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序.搜索等 ...
- 《Linux内核设计的艺术》学习笔记(四)默认段和偏移寄存器
参考书籍:<Intel微处理器> 表1 默认的16位段 + 偏移寻址组合 段 偏移量 特殊用途 CS IP 指令地址 SS SP或BP 堆栈地址 DS BX.DI.SI.8位或16位数 数 ...
- nodePPT 这可能是迄今为止最好的网页版PPT
demo例子为:http://qdemo.sinaapp.com/#0 下载地址为:https://github.com/ksky521/nodeppt/