当前位置: 首页 > 编程笔记 >

Android编程开发之seekBar采用handler消息处理操作的方法

耿建弼
2023-03-14
本文向大家介绍Android编程开发之seekBar采用handler消息处理操作的方法,包括了Android编程开发之seekBar采用handler消息处理操作的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了Android编程开发之seekBar采用handler消息处理操作的方法。分享给大家供大家参考,具体如下:

该案例简单实现进度条可走,可拖拽的功能,下面请看源码:

布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:paddingBottom="@dimen/activity_vertical_margin"
 android:paddingLeft="@dimen/activity_horizontal_margin"
 android:paddingRight="@dimen/activity_horizontal_margin"
 android:paddingTop="@dimen/activity_vertical_margin"
 tools:context=".MainActivity" >
 <SeekBar
  android:id="@+id/seekBar1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_alignParentLeft="true"
  android:layout_alignParentTop="true" />
</RelativeLayout>

java文件:

package com.example.lession16_seekbar;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.view.Menu;
import android.widget.SeekBar;
public class MainActivity extends Activity {
 private SeekBar seekBar;
 private static final int MAX_PROGRESS =100;
 private int current_progress=10;
 private static final int PRO=1;
 private Handler handler;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  seekBar = (SeekBar) this.findViewById(R.id.seekBar1);
  seekBar.setMax(MAX_PROGRESS);
 /* new Thread(new Runnable() {
   @Override
   public void run() {
    while(true){
     try {
      Thread.sleep(600);
      current_progress+=10;
      seekBar.setProgress(current_progress);
     } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
    }
   }
  }).start();*/
  handler = new Handler(){
    @Override
   public void handleMessage(Message msg) {
    super.handleMessage(msg);
    switch (msg.what) {
    case PRO:
      if(current_progress>=MAX_PROGRESS){
      }else{
       current_progress+=1;
       seekBar.incrementProgressBy(1);
       handler.sendEmptyMessageDelayed(PRO, 600);
      }
     break;
    default:
     break;
    }
   }
  };
  current_progress=current_progress>0?current_progress:0;
  seekBar.setProgress(current_progress);
  handler.sendEmptyMessage(PRO);
 }
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }
}

效果图(自动走):

希望本文所述对大家Android程序设计有所帮助。

 类似资料:
  • 本文向大家介绍php 使用ActiveMQ发送消息,与处理消息操作示例,包括了php 使用ActiveMQ发送消息,与处理消息操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php 使用ActiveMQ发送消息,与处理消息操作。分享给大家供大家参考,具体如下: 我们以一个简单的用户注册为例,当用户点击注册按钮后,我们发送一个消息,后台php接收到该消息然后处理。 1.php代码如下

  • 本文向大家介绍Android消息处理机制Looper和Handler详解,包括了Android消息处理机制Looper和Handler详解的使用技巧和注意事项,需要的朋友参考一下 Android系统的消息队列和消息循环都是针对具体线程的,一个线程可以存在(当然也可以不存在)一个消息队列和一个消 息循环(Looper),特定线程的消息只能分发给本线程,不能进行跨线程,跨进程通讯。但是创建的工作线程默

  • 本文向大家介绍Android开发之子线程操作UI的几种方法,包括了Android开发之子线程操作UI的几种方法的使用技巧和注意事项,需要的朋友参考一下  在Android项目中经常有碰到这样的问题,在子线程中完成耗时操作之后要更新UI,下面就自己经历的一些项目总结一下更新的方法: 在看方法之前需要了解一下Android中的消息机制。 方法1 Activity.runOnUiThread 方法如下:

  • 本文向大家介绍Android消息机制Handler的工作过程详解,包括了Android消息机制Handler的工作过程详解的使用技巧和注意事项,需要的朋友参考一下 综述   在Android系统中,出于对性能优化的考虑,对于Android的UI操作并不是线程安全的。也就是说若是有多个线程来操作UI组件,就会有可能导致线程安全问题。所以在Android中规定只能在UI线程中对UI进行操作。这个UI线

  • 本文向大家介绍Android Handler消息机制?相关面试题,主要包含被问及Android Handler消息机制?时的应答技巧和注意事项,需要的朋友参考一下 作用: 跨线程通信。当子线程中进行耗时操作后需要更新UI时,通过Handler将有关UI的操作切换到主线程中执行。 四要素: Message(消息):需要被传递的消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQ

  • 本文向大家介绍Android编程之图片颜色处理方法,包括了Android编程之图片颜色处理方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程之图片颜色处理方法。分享给大家供大家参考,具体如下: 你想做到跟美图秀秀一样可以处理自己的照片,美化自己的照片吗?其实你也可以自己做一个这样的软件,废话不多说了,直接上图,上代码了! 效果图如下: 没处理前: 处理之后: MainA