拖动条(seekbar)

原文地址:http://byandby.iteye.com/blog/816542

拖动条类似进度条,不同的是用户可以控制,比如,应用程序中用户可以对音效进行控制,这就可以使用拖动条来实现。由于拖动条可以被用户控制,所以需要对其进行事件监听,这就需要实现SeekBar.OnSeekBarChangeListener接口。在SeekBar中需要监听3个事件,分别是:数值的改变(onProgressChanged)、开始拖动(onStartTrackingTouch)、停止拖动(onStopTrackingTouch)。在onProgressChanged 中我们可以得到当前数值的大小。我们先看看运行效果吧。 


 

布局文件 
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
<SeekBar
android:id="@+id/seek" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:max="100" 
android:progress="50" 
android:secondaryProgress="75"/> 
<TextView 
android:id="@+id/progress" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
/> 

<TextView  
android:id="@+id/tracking" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    /> 
</LinearLayout> 

  android:max=100 设置的最大值、android:progress="50"设置了当前属性值 

Activity01类 
Java代码   收藏代码
  1. package xiaohang.zhimeng;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.widget.SeekBar;  
  6. import android.widget.TextView;  
  7.   
  8. public class Activity01 extends Activity implements  
  9.         SeekBar.OnSeekBarChangeListener {  
  10.     /** Called when the activity is first created. */  
  11.     //声明SeekBar 和 TextView对象  
  12.     SeekBar mSeekBar;  
  13.     TextView mProgressText;  
  14.     TextView mTrackingText;  
  15.   
  16.     @Override  
  17.     public void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.         setContentView(R.layout.main);  
  20.   
  21.         //取得SeekBar对象  
  22.         mSeekBar = (SeekBar) findViewById(R.id.seek);  
  23.         mSeekBar.setOnSeekBarChangeListener(this);  
  24.         mProgressText = (TextView) findViewById(R.id.progress);  
  25.         mTrackingText = (TextView) findViewById(R.id.tracking);  
  26.     }  
  27.   
  28.     @Override  
  29.     //在拖动中--即值在改变  
  30.     public void onProgressChanged(SeekBar seekBar, int progress,  
  31.             boolean fromUser) {  
  32.         //progress为当前数值的大小  
  33.         mProgressText.setText("当前值:" + progress);  
  34.     }  
  35.   
  36.     @Override  
  37.     //在拖动中会调用此方法  
  38.     public void onStartTrackingTouch(SeekBar seekBar) {  
  39.         mTrackingText.setText("xh正在调节");  
  40.     }  
  41.   
  42.     @Override  
  43.     //停止拖动  
  44.     public void onStopTrackingTouch(SeekBar seekBar) {  
  45.         mTrackingText.setText("xh停止调节");  
  46.   
  47.     }  
  48. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值