Android 拖動條(SeekBar)實例 附完整demo項目代碼


Android 拖動條(SeekBar)實例 附完整demo項目代碼

1、拖動條的事件
實現SeekBar.OnSeekBarChangeListener接口。需要監聽三個事件:
數值改變(onProgressChanged)
開始拖動(onStartTrackingTouch)
停止拖動(onStopTrackingTouch)

onStartTrackingTouch開始拖動時觸發,與onProgressChanged區別是停止拖動前只觸發一次
而onProgressChanged只要在拖動,就會重復觸發。

2、拖動條的主要屬性和方法
setMax
設置拖動條的數值
setProgress
設置拖動條當前的數值
setSeconddaryProgress
設置第二拖動條的數值,即當前拖動條推薦的數值

代碼:

 1 package com.zdztools.seekbartest;
 2 
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.util.Log;
 6 import android.widget.SeekBar;
 7 import android.widget.TextView;
 8 import android.widget.SeekBar.OnSeekBarChangeListener;
 9 
10 public class MainActivity extends Activity {
11     protected static final String TAG = "MainActivity";
12     private SeekBar seek;
13     private TextView myTextView;
14 
15     @Override
16     protected void onCreate(Bundle savedInstanceState) {
17         super.onCreate(savedInstanceState);
18         setContentView(R.layout.activity_main);
19 
20         myTextView = (TextView) findViewById(R.id.myTextView);
21         seek = (SeekBar) findViewById(R.id.mySeekBar);
22         //初始化
23         seek.setProgress(60);
24         seek.setOnSeekBarChangeListener(seekListener);
25         myTextView.setText("當前值 為: -" + 60);
26     }
27     
28     private OnSeekBarChangeListener seekListener = new OnSeekBarChangeListener(){
29         @Override
30         public void onStopTrackingTouch(SeekBar seekBar) {
31             Log.i(TAG,"onStopTrackingTouch");
32         }
33 
34         @Override
35         public void onStartTrackingTouch(SeekBar seekBar) {
36             Log.i(TAG,"onStartTrackingTouch");
37         }
38 
39         @Override
40         public void onProgressChanged(SeekBar seekBar, int progress,
41                 boolean fromUser) {
42             Log.i(TAG,"onProgressChanged");
43             myTextView.setText("當前值 為: -" + progress);
44 
45         }
46     };
47 }
<LinearLayout 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:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >

    <TextView
        android:id="@+id/myTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="20dip"
        android:text=""
        android:textSize="16sp"
        android:textStyle="bold" />

    <SeekBar
        android:id="@+id/mySeekBar"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

運行效果圖:

 

完整項目實例代碼:SeekBarTest.zip

本人另外一篇博客:android三檔自定義滑動開關,禁止點擊功能的實現,用默認的seekbar組件實現

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM