效果如下:
gif的效果可能有点过快,在真机上运行的效果会更好一些。我们主要的思路就是利用属性动画来动态地画出选中状态以及对勾的绘制过程。看到上面的效果图,相信大家都迫不及待地要跃跃欲试了,那就让我们开始吧。
自定义View的第一步:自定义属性。
1 |
|
效果如下:
gif的效果可能有点过快,在真机上运行的效果会更好一些。我们主要的思路就是利用属性动画来动态地画出选中状态以及对勾的绘制过程。看到上面的效果图,相信大家都迫不及待地要跃跃欲试了,那就让我们开始吧。
自定义View的第一步:自定义属性。
1 |
|
从早期的 SlidingMenu 再到 AndroidResideMenu 最后到Android自带的DrawerLayout,无处不体现着侧滑菜单的诱人魅力。侧滑菜单可以拓展app的内容,充分利用手机屏幕,增加程序的可玩性。
看完了上面的gif,想不想自己也写一个呢,那还等什么,一起来看看喽。
效果:
看完上面的效果图,大家一定都迫不及待地想要试一试了,那就让我们来动手吧。
首先我们定义一个实体类DropLook:
1 | /** |
大家都知道一般我们使用的UI控件都是继承自共同的父类——View。所以View这个类应该掌管着onTouch事件的相关处理。那就让我们去看看:在View中寻找Touch相关的方法,其中一个很容易地引起了我们的注意:dispatchTouchEvent(MotionEvent event)。根据方法名的意思应该是负责分发触摸事件的,下面给出了源码:
1 | /** |
之前在学习自定义View的时候看到鸿洋_的 《Android 打造形形色色的进度条 实现可以如此简单》 中自带百分比的进度条,于是照着例子自己实现了一下。下面是View的样子:
大家都知道自定义View的主要步骤:
ScrollView是我们经常使用的一个UI控件,也许你在使用ScrollView的过程中会发现,当你想监听ScrollView滑动的距离时却没有合适的监听器!当然在API 23中有setOnScrollChangeListener(View.OnScrollChangeListener l)
可以使用,但是并不兼容低版本的API。那怎么办呢?只好重写ScrollView来实现对滑动距离的监听了。
话不多说,直接上代码:
1 | public class MyScrollView extends ScrollView { |
Android ScrollView 嵌套 ListView 问题的解决办法
在平常的Android开发中我们经常会碰到ScrollView嵌套ListView或者是GridView的情况,若按照一般的流程我们会发现在ScrollView中的ListView显示不全的问题,其实我们可以重写ListView的onMeasure(int widthMeasureSpec, int heightMeasureSpec)
方法来解决。
以下是重写ListView的代码:
1 | /** |
在初学 Android 的时候,AsyncTask 应该是大家都比较熟悉的。我们都知道 AsyncTask 可以在后台开启一个异步的任务,当任务完成后可以更新在 UI 上。而在 AsyncTask 中,比较常用的方法有: onPreExecute 、 doInBackground 、 onPostExecute 和 onProgressUpdate 等。而上述的方法中除了 doInBackground 运行在子线程中,其他的都是运行在主线程的,相信大家对这几个方法也了如指掌了。
1 | public abstract class AsyncTask<Params, Progress, Result> { |
在学习Android的路上,大家肯定会遇到异步消息处理,Android提供给我们一个类来处理相关的问题,那就是Handler。相信大家大多都用过Handler了,下面我们就来看看Handler最简单的用法:
1 | public class FirstActivity extends AppCompatActivity { |