<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/v1" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <SeekBar android:id="@+id/seekBar1" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
TestActivity.java
package test.mft;
import android.app.Activity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;
public class TestActivity extends Activity {
/** Called when the activity is first created. */
private SeekBar s1;
private TextView v1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
v1 = (TextView)findViewById(R.id.v1);
s1 = (SeekBar)findViewById(R.id.seekBar1);
s1.setMax(100);
int pro = 50;
s1.setProgress(pro);
v1.setText(""+pro);
s1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
//当停止时
public void onStopTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
v1.setText(""+s1.getProgress());
}
//当开始拉动时
public void onStartTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
v1.setText(""+s1.getProgress());
}
//当拉动条 改变值时
public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
// TODO Auto-generated method stub
v1.setText(""+s1.getProgress());
}
});
}
}
解决不能拖到到 最大值 问题 在 layout 中 设置 android:layout_margin="3dip" 属性即可
修改 风格
<SeekBar android:id="@+id/seekBar1" android:layout_width="130dip" android:layout_height="wrap_content" android:max="100" android:layout_centerVertical="true" android:layout_toLeftOf="@id/sb_value_1" android:paddingLeft="5dip" android:paddingRight="8dip" android:progressDrawable="@drawable/seekbar_bg_img" ------ android:thumb="@drawable/seekbar_thumb" ------ />
其中 @drawable/seekbar_bg_img 是背景图片 , @drawable/seekbar_thumb 是拖动按钮
图片参考附件