Android

Android布局切圆角

通常,要想使布局文件以圆角方式显示,最简便的方式是通过CardView进行包装。但是CardView设置圆角后四个角都是同样的弧度,有时候我们接到的需求是指给其中某些角指定圆角,或者给每个角指定不同的弧度,CardView就无法满足了。

阅读更多

RecyclerView限制最大高度或宽度

在日常开发中,想直接通过android:maxHeightandroid:maxWidth在布局文件中限制RecyclerView的最大高度宽度,是无法实现的。通过自定义RecyclerView,覆盖onMeasure方法。在onMeasure方法内部,当发现自身高度或宽度超过限制的最大高度或宽度,则手动将宽或高设置为期望的最大宽或搞。具体代码实现如下:

阅读更多

获取SD卡路径——完美解决

写在最前面:
(这篇文章写于三年多以前,由于域名备案、服务器到期等问题,以前的文章没备份,都丢失了。现重新将它搬回来。)由于公司的项目里有个视频下载的功能,而且这个是产品比较重要的功能。但是,由于众所周知的原因,通过传统方式获取的SD卡路径,在不同厂商的设备上都不准确,可能SD卡和内存存储介质倒置了,也可能获取出来的路径无法读写。就算是相同厂商不同的产品,获取出来的SD卡路径和内置存储路径都是五花八门。
网上到处找资料,还是没法完全解决上述问题,连有些主流的机型都无法覆
盖。经过一段时间探索,算是解决了问题。 阅读更多

Android7.0以上图片裁剪问题

0.系统权限更改

为了提高私有文件的安全性,面向 Android 7.0 或更高版本的应用私有目录被限制访问(0700)。此设置可防止私有文件的元数据泄漏,如它们的大小或存在性。此权限更改有多重副作用: 阅读更多

ExoPlayer播放MPEG-TS流程

一、播放器创建

1、创建ExoPlayer的实例

通过ExoPlayerFactory工厂创建出SimpleExoPlayer,其内部则创建ExoPlayerImplInternal对象,MediaCodecVideoRenderer(视频编解码渲染
器)、MediaCodecAudioRenderer(音频编解码渲染器)、TextRenderer(字幕渲染)等渲染器。 阅读更多