首页
学习
活动
专区
圈层
工具
发布

2014-10-27Android学习------布局处理(八)------自定义吐司(Toast)-----城市列表应用程序

,上面的图片提示了没有设置宽高,原来我们需要在这个位置来设置。...一般我们是使用子线程去去处理这个消息,处理完之后告诉主线程,让它去更新。 说的不是很对,如果不对,请指出。还在学习中!!!...所有我们就采用子线程去负责它显示的时间了, 自己创建的线程该怎么去调用他们呢,这里就需要用到一个类 Handler 我们先简单的说明一下:知道它是干什么的就可以去理解,下次有机会在详细介绍它的用法和作用 Handler在Android...方法removeCallbacks方法是删除指定的Runnable对象,使线程对象停止运行:首先我们为什么要让这个线程停止运行呢?...它的原型: public final boolean postDelayed (Runnable r, long delayMillis) 其中参数Runnable r在Handler对象所运行的线程中执行

71230
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    View的onAttachedToWindow引发的图片轮播问题探究

    我看了他的轮播的实现方案:利用Handle.postDelayed间隔轮播时长每次执行完轮播之后再次循环发送; banner_carousel.png 代码貌似没有太大问题,但通过现象看来应该是removeCallbacks...Handle#removeCallbacks 在stackoverflow上找了相关资料Why to use removeCallbacks() with postDelayed()?...若干天之后,再次发现轮播间隔时间错乱的问题有一次出现了。 这次我们使用自定Handler进行removeCallBacks和postDelayed,完美的解决了问题。...如果当前的任务不是在执行中,那么该任务一定会被移除。 换句话说,Handle#removeCallBacks移除的就是在队列中等待被执行的Message。...按照之前的业务代码,如果当前View被dispatchDetachedFromWindow之后执行消息的移除操作,那么已经在MainLooper队列中的消息是无法被移除且如果继续添加轮播消息,那么就会造成轮播代码块的频繁执行

    64540

    Android自定义长按事件 博客分类: Android AndroidUP

    主要思路是在down的时候,让一个Runnable一段时间后执行,如果时间到了,没有移动超过定义的阈值,也没有释放,则触发长按事件。...在真实环境中,当长按触发之后,还需要将后来的move和up事件屏蔽掉。此处是示例,就略去了。      ...TOUCH_SLOP || Math.abs(mLastMotionY-y) > TOUCH_SLOP) { //移动超过阈值,则表示移动了 isMoved = true; removeCallbacks...(mLongPressRunnable); } break; case MotionEvent.ACTION_UP: //释放了 removeCallbacks(mLongPressRunnable...); break; } return true; } }      思路跟第一种差不多,不过,在移动超过阈值和释放之后,会将Runnable从事件队列中remove掉,长按事件也就不会再触发了

    2.6K20

    【Android】Handler 使用

    随着EventBus和RxJava等依托观察者模式的消息传递机制的出现,当前在Android开发中Handler的使用已经不如之前那么重要,但是Android系统所提供的Handler中的各种编程思路和设计方案...Android在设计的过程中,就封装了一套消息创建、传递、处理的机制。如果不遵循这样的机制,是没有办法更新UI信息的,会抛出异常信息。...可以这样做:在主线程中创建一个Handler。然后在子线程中,我们可以调用Handler的post方法,并向其中传递一个Runnable为参数,在Runnable中更新UI即可。...它与post的区别就是它会在delayMills这段时间之后再去执行Runnable的方法,也就是延迟执行。...方法 比如这里有个定时更新TextView的文本的代码,如果想要按下按钮,停止定时更换文本,就可以通过removeCallbacks方法,传入该Runnable来中止消息。

    1.1K20

    可拖拽gridview

    上面点击的item 手指按下的时候使用Handler和Runnable来实现一个定时器,假如定时时间为1000毫秒,在1000毫秒内,如果手指抬起了移除定时器,没有抬起并且手指点击在GridView的item...private Runnable mLongClickRunnable = new Runnable() {   @Override public void run() {               ...(mScrollRunnable);               }   //当我们的手指到达GridView向上或者向下滚动的偏移量的时候,可能我们手指没有移动,但是DragGridView在自动的滚动...如上图的6号线 理解了这六个距离,我们就来看看创建Item镜像的方法里面,其他的我不多说,首先设置format为PixelFormat.TRANSLUCENT,表示除了我们显示图片和文字的其他地方为透明,之后就是...(to)方法,主要是为了实现拖动到新的位置隐藏该Item, 使得mHidePosition不为-1,忘记在停止拖动onStopDrag()方法中将mHidePosition设置为-1了,所以为了解决28

    5.2K50

    Android中线程的使用

    https://blog.csdn.net/lyhhj/article/details/47153137 Android中线程的使用很重要,有时候线程使用不好直接导致线程卡死,软件崩溃。...当一个Activity被创建之后,一个线程就算开启了,也就是主线程或者UI线程,主线程中只负责更新界面,而子线程中才会去执行一些复杂的业务。...在Android中线程的使用我用的最多的是这三种:Thread、Runnable、Handler 1.Thread 通过集成Thread用run方法来实现线程 public class MyThread...public class MyRunnable implements Runnable{       private final static String TAG = "My Runnable...         protected void onDestroy() {                     //将线程销毁掉                     mHandler.removeCallbacks

    50710
    领券