在写本文之前,我还以为自己对android的bitmap很熟悉,直到自己亲手写代码实践,才发现自己错了很多年。真是汗颜啊!
more
Bitmap Config
首先,根据Android API 25的文档简要说明一下Android的Bitmap.Config以下4个选项
继续阅读 »
【什么是Bit-map】
所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。
如果说了这么多还没明白什么是Bit-map,那么我们来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复)。那么我们就可以采用Bit-map的方法来达到排序的目的。要表示8个数,我们就只需要8个Bit(1Bytes),首先我们开辟1Byte的空间,将这些空间的所有Bit位都置为0.
然后遍历这5个元素,首先第一个元素是4,那么就把4对应的位置为1(可以这样操作 p+(i/8)|(0x01
继续阅读 »
Android中实现圆角图片有多种姿势,不知你解锁了几种?
more
方法一:setXfermode法
此种方式就是再new一个相同尺寸的bitmap,然后使用paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));先画圆角矩形,再画原始bitmap,然后就得到了一个圆角的bitmap了。
```java
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float roundPx) {
继续阅读 »
以下Drawables的功能帮助你在应用中实现Material Design:
图片资源着色
在android 5.0(api 21)和更高版本,可以着色bitmap和.9 png 通过定义透明度遮盖。你可以着色通过使用颜色资源或者主题的属性去解析颜色资源(比如,?android:attr/colorPrimary).通常我们创建一次,然后资源自适应主题。
more
你可以给BitmapDrawable或NinePatchDrawable对象着色使用setTint()方法。你可以可以在布局文件中使用android:tint和android:tintMode属性设置着色颜色和着色模式。
从图片中抽取高亮颜色
support
继续阅读 »
上一篇介绍了150行代码实现滑动退出功能,相对来说比较简单,那么这篇文章稍微复杂点,有350行代码。
1. CircleImageView:继承系统的View,重写系统的方法;
2. 自定义style属性:供使用者在xml文件中配置,方便使用;
有多么好用就不罗嗦了(我左侧的头像就是),直接上代码:
more
```java
public class CircleImageView extends ImageView {
private static final ScaleType SCALE_TYPE = ScaleType.CENTER_CROP;
private static final Bitmap.Co
继续阅读 »