android带滑块的进度条,android SeekBar(带滑动块的进度条)的应用举例

本文介绍了一个使用SeekBar与自定义线程进行交互的Android应用示例。该示例展示了如何通过SeekBar改变TextView的内容,并在后台线程中自动更新SeekBar的进度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0818b9ca8b590ca3270a3433284dd417.png

AppMain.java

package lxy.listsoft;

import android.app.Activity;

import android.os.Bundle;

import android.util.Log;

import android.widget.SeekBar;

import android.widget.TextView;

public class AppMain extends Activity {

private TextView textView;

private SeekBar seekBar;

int seekBarProgress;

MyThread thread;

boolean key = true;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

textView = (TextView)findViewById(R.id.testView01);

seekBar = (SeekBar)findViewById(R.id.seekBar01);

seekBar.setMax(200);

seekBar.setOnSeekBarChangeListener(new SeekBarListener());

}

protected void onResume() {

super.onResume();

thread = new MyThread();

thread.start();

}

//SeekBar的监听器

class SeekBarListener implements SeekBar.OnSeekBarChangeListener{

//当进度改变时,参数fromUser判断是不是进度的改变由用户手动引起

public void onProgressChanged(SeekBar seekBar, int progress,

boolean fromUser) {

if(fromUser){

Log.d("test", ""+progress);

seekBarProgress = progress;

}

textView.setText(""+progress);

}

//当用户开始滑动时

public void onStartTrackingTouch(SeekBar seekBar) {

key = false;

Log.d("test", "myThread stop");

}

//当用户结束滑动时

public void onStopTrackingTouch(SeekBar seekBar) {

Log.d("test", "myThread isAlive"+thread.isAlive());

key = true;

thread = new MyThread();

thread.start();

Log.d("test", "myThread isAlive"+thread.isAlive());

}

}

class MyThread extends Thread{

public void run() {

super.run();

while(key){

try {

Thread.sleep(500);

} catch (InterruptedException e) {

e.printStackTrace();

}

seekBarProgress++;

if(seekBarProgress > 200){

seekBarProgress = 0;

}

seekBar.setProgress(seekBarProgress);

}

}

}

}

main.xml

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:id="@+id/testView01"

android:textSize="20pt"

android:gravity="center_vertical|center_horizontal"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="0"/>

android:id="@+id/seekBar01"

android:layout_width="fill_parent"

android:layout_height="wrap_content">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值