Android开发之那些好用的数据结构与API(三)

之前的系列文章 Android开发之那些好用的数据结构与APIAndroid开发之那些好用的数据结构与API(二)中,已经介绍了一些,趁热打铁,本次介绍的内容很实用哦~~

1、RoundedBitmapDrawable

RoundedBitmapDrawable 是 android.support.v4.graphics.drawable 里面的一个类,但是记得一定得是21+以上的版本。它是用来创建简单的圆角图片,以前做App时,个人中心经常有个圆角的个人头像,可能大家都会用第三方的库来做,其实在2014年的Google IO大会后Google发布了新的Support lib,其中就有这个类和相应的API,看看最新的Android系统中联系人的圆形头像,就是基于此而做的,API很简单,如下:

ImageView imageView = (ImageView) findViewById(R.id.img);
Resources res = getResources();
// 获取Bitmap图片
Bitmap src = BitmapFactory.decodeResource(res, R.drawable.pic);
// 创建RoundedBitmapDrawable对象
RoundedBitmapDrawable dr = RoundedBitmapDrawableFactory
.create(res, src);
// 设置圆角半径
dr.setCornerRadius(Math.max(src.getWidth(), src.getHeight()) / 2.0f);
// 显示圆角图片
imageView.setImageDrawable(dr); 

原图与效果图:

img_98eebdf22759c809c35a5c6131e6039b.png
原图.png

img_d5076ad26977e70afa8e55112fb9b7dc.png
RoundedBitmapDrawable.png

2、DateUtils

在Android中经常要处理与日期有关的字段,当然可以用Java中的日期处理API,但是Android中也提供了,在android.text.format.DateUtils 类中有如下几个方法,下面以几个简单的案例进行介绍。

(1)格式化时间,比Java自带的要爽得多,麻麻说再也不需要记忆乱七八糟的 yyyy年MM月dd日了

//格式化时间,最后参数设定显示的格式
String date = DateUtils.formatDateTime(MainActivity.this,
System.currentTimeMillis(), DateUtils.FORMAT_SHOW_DATE
                        | DateUtils.FORMAT_SHOW_TIME
                        | DateUtils.FORMAT_SHOW_YEAR
                        | DateUtils.FORMAT_ABBREV_MONTH 
                        | DateUtils.FORMAT_SHOW_WEEKDAY);
tv.setText(date);
img_2f31c2b11273fa33d149b19ceaf3198f.png
formatDateTime.png

(2) 返回相对于当前时间的最大区间表示的字符串:几(分钟,小时,天,周,月,年)前/后。想想微博上那些时间,是不是瞬间觉得简单了~~

CharSequence date = DateUtils.getRelativeTimeSpanString(System
                .currentTimeMillis() + 1000*1000);

tv.setText(date);
img_e99eefb5aee2aa36030a8a2c80f57c38.png
getRelativeTimeSpanString1.png

(3) 返回相对于当前时间的一个时间字符串:在同一天显示时分;在不同一天,显示月日;在不同一年,显示年月日

CharSequence date = DateUtils.getRelativeTimeSpanString(
MainActivity.this, System.currentTimeMillis() + 10000 * 10000);

tv.setText(date);
img_ce3652f7ac1e2d2d0b11add88c548088.png
getRelativeTimeSpanString2.png

(4)返回两个时间值间的相距字符串

String date = DateUtils.formatDateRange(MainActivity.this,
                System.currentTimeMillis(),
                System.currentTimeMillis() + 60 * 60 * 10000,
                DateUtils.FORMAT_SHOW_TIME); 

tv.setText(date);
img_c8a1c7dd40a40f4ec04022c892d54ab1.png
formatDateRange.png

以上就是本次要介绍的内容,内容虽然不是很多,但是很实用,正所谓内容不在多而在精,大家可以在项目中试试看~~

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/670862

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。