- 博客(9)
- 资源 (63)
- 收藏
- 关注
原创 自定义View利用手势检测实现图片放大缩小
上一节我们是通过重写自定义View的onTouchEvent方法来实现我们的图片放大缩小功能的,我们也发现现在app中,图片预览功能很常见的,用户基本已经形成条件反射,看到小图,点击看大图,看到大图两个手指开始进行放大,放大后,开始移动到指定部位,实际上,Android系统本身也是有手势检测这个类来帮助我们实现相关功能的。首先了解要用到的几个类:Matrix在图
2016-05-28 16:35:11 2434 1
原创 自定义ImageView实现图片手势滑动、放大缩小效果
上一节说了通过自定义来加载超大图片,同时实现手指的拖动效果。不过,另一种情况就是,我们希望应用能够加载整张图片,如果图片太大就先压缩,如果小于屏幕就直接显示,同时用户可以拖拽移动和缩放图片大小,梳理下流程:1.自定义View继承ImageView,重新onDraw方法2.在onDraw先画图片,图片大于屏幕就把图片缩小后显示,图片小于屏幕就直接显示,显示之前要计算显示图片的Rect,R
2016-05-23 19:33:29 4235
原创 关于Drawable资源加载的相关问题
图片资源无外乎两种,一种是图片文件格式,一种是xml格式,在布局文件中引用当然没什么可说的,我们主要说下在代码中如何获得drawable资源1、res/drawable目录下资源加载使用R.drawable.xxx直接获得Drawable资源Resources res=getResources(); //获得应用资源管理实例Drawable d
2016-05-19 15:00:00 2971
原创 Drawable解析4——StateListDrawable和AnimationDrawable
1、估计StateListDrawable是大家用的最多一个drawable了,所有的控件背景基本上都使用了StateListDrawable,以实现其在不同状态下显示不同的效果,例如按钮的按下、选中、默认、禁用等多种模式状态。StateListDrawable用于管理一组drawable,每个drawable都对应一组状态,状态的选择类似于java中的switch-case组合,按照顺序比较状态
2016-05-18 22:12:00 1380
原创 Drawable解析3——LayerDrawable、TransitionDrawable、NinePatchDrawable和LevelListDrawabl
1、前两节我们已经说了8个Drawable了,本节继续,第一个,LayerDrawable,表示层图形对象。LayerDrawable用于管理一组drawable,每个drawable处于不同的层,当绘制时会按照顺序将其全部绘制到画布上。虽然这些Drawable会有交叉或者重叠的区域,但他们位于不同的层,所以并不会相互影响,在xml文件中以layer-list作为根节点进行定义,并通过item子节
2016-05-18 16:55:14 867
原创 Drawable解析2——GradientDrawable、ShapeDrawable、InsetDrawable和RotateDrawable
继承上一节,这一节再说两个子类1、GradientDrawable表示一个渐变区域,可以实现线性渐变、发散渐变、和平铺渐变。GradientDrawable使用shape作为根节点创建xml文件,文档节点结构如下:xmlns:android="http://schemas.android.com/apk/res/android"> //定义区域的大小 //设
2016-05-12 13:23:15 1728
原创 Drawable解析1——ColorDrawable、BitmapDrawable、ClipDrawabl和ScaleDrawable
Drawable资源是Android应用中使用最广泛的资源,它不仅可以使用各种格式的图片资源,也可以使用多种xml文件资源。当然直接使用图片资源没什么好说的,我们主要是要研究下Drawable的子类。Android把可绘制的对象抽象成Drawable,并且提供了draw方法,可以在需要的时候直接绘制到画布上,我们看下官方的API1、有点多,我们就慢慢说吧,先从最简单的一个说起—
2016-05-10 21:44:52 7351
原创 自定义View显示超大图片
上一节(自定义初学5——自定义View显示图片)已经说了如何自定义View显示图片。做android时,加载图片是避免不了的,加载网络图片还需要异步加载,最烦人的就是经常出现OOM,为了避免这样的问题,我们一般这样解决:根据图片控件的大小对图片进行压缩显示。如果图片数量非常多,则会使用LruCache等缓存机制,将所有图片占据的内容维持在一个范围内。有时加载图片还会
2016-05-08 19:39:21 2978
原创 ViewGroup2——自定义实现流式布局
Android中的线性布局LinearLayout,只能横向或纵向排列子控件,而且横向排列时不能自动换行。实际上,通过扩展ViewGroup就能够实现控件自动的往右添加,如果当前行剩余空间不足,则自动添加到下一行,也就是所谓的流式布局。自定义CustomViewGroup.java如下public class CustomViewGroup extends ViewGr
2016-05-06 19:25:25 1416
GreenDao.zip
2016-08-30
CoordinatorLayoutDemo.zip
2016-08-22
RecyclerViewDemo1
2016-06-01
CustomViewDemo9_1
2016-05-28
FragmentDemo-10
2016-05-20
DrawableDemo3
2016-05-18
DrawableDemo2
2016-05-18
DrawableDemo1
2016-05-18
DrawableDemo
2016-05-11
CustomViewDemo7
2016-05-08
ViewGroupDemo2
2016-05-06
ViewGroupDemo1
2016-04-27
CustomThemeDemo
2016-04-21
PopupDialogActivityDemo
2016-04-21
CustomViewDemo5
2016-04-19
CustomViewDemo4
2016-04-18
FragmentDemo10
2016-04-18
FragmentDemo9.zip
2016-04-13
MailDemo.zip
2017-11-14
HibernateDemo5
2017-08-21
FlashFXP54_5.4.0.395
2017-08-21
HibernateDemo2
2017-08-15
HibernateDemo1
2017-08-15
DisruptorDemo.zip
2017-06-09
ThriftTest
2017-03-09
ThriftTest.zip
2017-03-08
GsonFormat1.1.2.jar
2017-01-09
DrawerLayoutDemo
2016-11-08
RetrofitDemo
2016-09-22
RecycleAndSwipeRefresh
2016-09-15
SwipeRefreshLayoutDemo
2016-09-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人