Android UI设计 SeekBar拖动条用法

来源:互联网 发布:生产工艺制作软件 编辑:程序博客网 时间:2024/05/21 21:35

SeekBar类似于ProgressBar,不过ProgressBar主要功能是让用户知道目前的状态,而SeekBar的功能在于让用户调整进度。举个例子,在音乐播放器中,你可以通过SeekBar来调整音乐播放的进度。
下面是效果图:

拖动时,TextView会动态显示当前的进度
布局xml代码:

12345678910111213141516171819
<?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"    > <TextView android:id="@+id/tv" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="" /> <SeekBar         android:id="@+id/seek"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:max="100"         android:progress="10" /></LinearLayout>

程序代码:

123456789101112131415161718192021222324252627282930313233343536373839404142434445
package com.pocketdigi; import android.app.Activity;import android.os.Bundle;import android.widget.SeekBar;import android.widget.TextView;import android.widget.SeekBar.OnSeekBarChangeListener; public class main extends Activity {    /** Called when the activity is first created. */SeekBar sb;TextView tv;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        tv=(TextView)findViewById(R.id.tv);        sb=(SeekBar)findViewById(R.id.seek);        sb.setProgress(90);        sb.setOnSeekBarChangeListener(sbLis);    }    private OnSeekBarChangeListener sbLis=new OnSeekBarChangeListener(){ @Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {//进度改变时触发tv.setText(String.valueOf(sb.getProgress())); } @Overridepublic void onStartTrackingTouch(SeekBar seekBar) {// 开始拖动时触发,与onProgressChanged区别在于onStartTrackingTouch在停止拖动前只触发一次//而onProgressChanged只要在拖动,就会重复触发} @Overridepublic void onStopTrackingTouch(SeekBar seekBar) {//结束拖动时触发 }     };}

© 2010, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记