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

Gwen ·
更新时间:2024-11-10
· 990 次阅读

本文实例讲述了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程序设计有所帮助。

您可能感兴趣的文章:Android控件SeekBar仿淘宝滑动验证效果Android 动态改变SeekBar进度条颜色与滑块颜色的实例代码Android自定义竖直方向SeekBar多色进度条android之SeekBar控件用法详解Android自定义SeekBar滑动显示数字Android中SeekBar和RatingBar用法实例分析Android 可拖动的seekbar自定义进度值Android基础控件(EditView、SeekBar等)的使用方法Android下修改SeekBar样式的解决办法Android seekbar(自定义)控制音量同步更新



方法 seekbar handler Android

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章
Adelle 2021-04-13
911