SeekBar組件是能夠手動調整進度的拖動條,最多見的使用地方是聽音樂或者看視頻時,往前或者日後拖動進行定位,手機中的音量控制等。java
該實例中,手動改變進度,在TextView組件中會顯示相應進度百分比。
android
首先是佈局文件:app
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.test_seekbar.MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/tv1" android:textAppearance="?android:attr/textAppearanceLarge" /> <SeekBar android:id="@+id/seekBar1" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="100" android:background="#fff0f000" /> <!-- android:max="100"設定進度條最大顯示值 --> </LinearLayout>
其次是strings.xml文件:ide
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Test_SeekBar</string> <string name="action_settings">Settings</string> <string name="tv1">None</string> </resources>
再次是andorid源碼文件:佈局
package com.example.test_seekbar; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView; public class MainActivity extends ActionBarActivity implements OnSeekBarChangeListener{//經過接口實現拖動條的監聽事件 private TextView textView=null; private SeekBar seekBar=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.textView1); seekBar = (SeekBar) findViewById(R.id.seekBar1); seekBar.setOnSeekBarChangeListener(MainActivity.this); } @Override public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {//當進度值改變時執行該方法 // TODO Auto-generated method stub textView.setText("當前進度:"+String.valueOf(arg1)+"%"); } @Override public void onStartTrackingTouch(SeekBar arg0) {//當觸摸到拖動條時執行該方法 // TODO Auto-generated method stub } @Override public void onStopTrackingTouch(SeekBar arg0) {//當離開觸摸拖動條時執行該方法 // TODO Auto-generated method stub } }
最後是測試結果:測試