Android學習之SeekBar控件

SeekBar:A SeekBar is an extension of ProgressBar that adds a draggable thumb. The user can touch the thumb and drag left or right to set the current progress level or use the arrow keys. Placing focusable widgets to the left or right of a SeekBar is discouraged.android

上面是官方的定義。web

什麼是SeekBar控件,SeekBar控件其實就是一個高級點的進度條,就像咱們在聽歌,看電影用的播放器上的進度條同樣,是能夠拖動的,能夠改變進度的一個進度條控件!就是下面這個樣子:app

 

01

下面來看如何使用SeekBar,用一個例子來講,功能很是簡單,Activity上就是一個SeekBar和一個TextView,當咱們拖動SeekBar的進度時,在下面的TextView中顯示相應的進度變化!ide

 

02

第一步:定義Activity  學習

在main.xml文件中加上一個SeekBar和一個TextViewspa

 

<?xml version="1.0" encoding="utf-8"?>orm

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xml

    android:orientation="vertical"對象

    android:layout_width="fill_parent"blog

    android:layout_height="fill_parent"

    >

 <SeekBar

 android:id="@+id/seekbar"

 android:layout_width="fill_parent"

 android:layout_height="wrap_content"

 >

 </SeekBar>

 <EditText

 android:id="@+id/edit"

 android:layout_width="fill_parent"

 android:layout_height="wrap_content"

 >

 </EditText>

</LinearLayout>

 

第二步:編寫Activity

 

package com.gufengxiachen.counter;

 

import android.app.Activity;

import android.os.Bundle;

import android.widget.SeekBar;

import android.widget.SeekBar.OnSeekBarChangeListener;

import android.widget.TextView;

 

public class CounterActivity extends Activity {

    /** Called when the activity is first created. */

//定義一個SeekBar和一個TextView

 

private SeekBar seekBar;

private TextView  textView; 

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

//根據ID值取得SeekBar對象

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

        seekBar.setMax(100);

       //爲SeekBar設置監聽器(這裏使用匿名內部類)

        seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){

//複寫OnSeeBarChangeListener的三個方法

//第一個時OnStartTrackingTouch,在進度開始改變時執行

 

   @Override

        public void onStartTrackingTouch(SeekBar seekBar) {

        // TODO Auto-generated method stub

       

        }

 

//第二個方法onProgressChanged是當進度發生改變時執行

        @Override

        public void onProgressChanged(SeekBar seekBar, int progress,

        boolean fromUser) {

        // TODO Auto-generated method stub

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

        int i= seekBar.getProgress();

        textView.setText(""+i);

       

        }

//第三個是onStopTrackingTouch,在中止拖動時執行

        @Override

        public void onStopTrackingTouch(SeekBar seekBar) {

        // TODO Auto-generated method stub

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

        int i= seekBar.getProgress();

        textView.setText(""+i);

       

        }

 

     });

    }

}

 

 

通過上面簡單的步驟一個簡單的SeekBar應用就完成了,其實其餘不少控件使用方法都同樣,首先定義控件,而後取得控件對象,添加監聽器,最後在監聽器的相應方法裏實現功能!!

最後祝你們學習愉快!!!

相關文章
相關標籤/搜索