SeekBar 可拖动进度条 常用属性 常用方法 自定义样式 常用的属性 max 最大值 progress 进度值 secondaryProgress 第二进度条 progressDrawable 进度图片 () 获取进度值 setSecondaryProgress() 设置第二进度值 getSecondaryProgress() 获取第二进度值 setSeekBarChangeListener() 设置seekbar android:width="20dp"/> </shape> </item> </selector> 高度通过 minHeight maxHeight 设置 <SeekBar android:thumb="@drawable/selector_seek_thumb_bg" android:progressDrawable="@drawable/selector_seekbar_bg
目录 SeekBar SeekBar 是水平进度条 ProgressBar 的间接子类,相当于一个可以拖动的水平进度条。 = (SeekBar)findViewById(R.id.seekBar1); textView.setText("当前进度为:" + "0%"); seekBar.setOnSeekBarChangeListener = (SeekBar)findViewById(R.id.seekBar1); seekBar.setMax(255); imageView.setImageAlpha (255); seekBar.setProgress(255); seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener 参考 Android SeekBar:拖动条控件 Android Studio开发中SeekBar滑动条的简单
背景# Android 自定义Seekbar样式<SeekBar android:layout_width="0dp" android:layout_height="wrap_content " android:splitTrack="false" android:thumb="@drawable/seekbar_thumb_bg" android:thumbOffset ="0dp" tools:progress="50" />seekbar_bg<? -- 获取焦点但按下的时候 --><item android:drawable="@drawable/<em>seekbar</em>_thumb" android:state_focused="true" android -- 默认的时候 --><item android:drawable="@drawable/<em>seekbar</em>_thumb" /></selector>老群被封,+新Q群709287944
项目结构: 1 New Android Project-> 2 Project name:SeekBar 3 Build Target:Android 2.2 4 Application name: SeekBar ; 7 import android.widget.Toast; 8 import android.widget.SeekBar.OnSeekBarChangeListener; 9 10 public 变量 */ 13 private SeekBar sb_test; 14 15 /** Called when the activity is first created. * seekBar) { 32 Log.i(TAG, "on Stop Tracking Touch方法,当前位置: " 33 + seekBar.getProgress + seekBar.getProgress()); 43 Toast.makeText(HelloSeekBar.this, "onStartTrackingTouch方法",
先让大家从直观上认识一下SeekBar的样子, 以及它存在的主要作用。 然后再去学习它的功能。 上图就是Seekbar的样子。 它在生活中用途也是很广泛的。 : public class SeekBarActivity extends Activity { private SeekBar seekBar; private TextView textView ); seekBar = (SeekBar)findViewById(R.id.seekBar1); textView = (TextView)findViewById(R.id.textView1 void onStopTrackingTouch(SeekBar arg0) { //SeekBar选中抬起 Toast.makeText(SeekBarActivity.this, } } 布局文件就不贴出, 里面有一个SeekBar和一个TextView 接下来, 看一下运行效果: 总结: <1> : SeekBar主要是实现进度的控制 <2> : 还有SeekBar
"/> <SeekBar android:id="@+id/sb_seekbar" android:layout_width="fill_parent" , 当前的seekbar * progress, seekbar的当前进度 * fromUser, 是否是用户改变进度的 */ @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { Log.v seekBar) { Log.v("TAG", "onStartTrackingTouch start--->"+"+seekBar="+seekBar.getProgress seekBar) { Log.v("TAG", "onStopTrackingTouch end--->"+"+seekBar="+seekBar.getProgress())
最近项目需要用到双向的seekbar,网上找了好多野不能达到要求,偶然一次机会看到了大众点评的例子,然后我最他做了优化,并对常用的seekbar做了总结. 向上两张图: 比如双向seekbar public class SimpleRangeSeekBar extends View { private int lineWidth = 5; initView() { lowerBmp = BitmapFactory.decodeResource(getResources(), R.drawable.seekbar_n ); upperBmp = BitmapFactory.decodeResource(getResources(), R.drawable.seekbar_n
大家好,又见面了,我是全栈君 SeekBar 拖动条:拖动条和滚动栏类似,当是拖动条能够拖动滑块改变进度 RatingBar 星级评分条:星级评分条与拖动条相似 SeekBar特有的xml属性 android seekBar = null; //定义SeekBar private RatingBar ratingBar = null; //定义RatingBar @Override protected = (SeekBar) findViewById(R.id.seekBar); this.ratingBar = (RatingBar) findViewById(R.id.reatingBar) ; //seekBar设置监听,改变图片透明度 this.seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() :拖动条的进度 * fromUser:是否用户手动改变 */ @Override public void onProgressChanged(SeekBar seekBar,
; 10 import android.widget.SeekBar.OnSeekBarChangeListener; 11 12 public class AndroidSeekBarActivity sekbar = (SeekBar) this.findViewById(R.id.sekbar); 21 sekbar.setOnSeekBarChangeListener(new seekBar) { 25 // TODO Auto-generated method stub 26 27 } 28 29 @Override 30 public void onStartTrackingTouch(SeekBar seekBar) { 31 // TODO stub 32 33 } 34 35 @Override 36 public void onProgressChanged(SeekBar
由于拖动条SeekBar继承了 ProgressBar,因此ProgressBar所支持的XML属|性和方法完全适用于SeekBar。 onStartTrackingTouch:按住SeekBar时会触发。 onStopTrackingTouch:放开SeekBar时触发。 接下来通过一个简单的示例程序来学习系统默认SeekBar的使用。 ); // 获取界面组件 mSeekBar = (SeekBar) findViewById(R.id.seekBar); mPromptTv = ( (SeekBar seekBar) { mPromptTv.setText("停止拖动"); } } 修改程序启动的Activity,运行程序,当拖动滑块时,可以可以看到下图所示界面效果
今天说一说如何做一个vertical seekbar,竖起来的seekbar。实现它的过程中就会涉及一些View是如何被画出来的知识。 vertical seekbar当然要实现seekbar一样的功能,所以首先seekbar有的vertical seekbar都要有,直接在你的工程中新建一个类vertical seekbar,从framework seekBar, int progress, boolean fromUser); void onStartTrackingTouch(SeekBar seekBar); 系统默认seekbar是横着的,在absseekbar中计算progress、计算thumb的位置,用到了seekbar的宽和高,我们只要改变一下计算方法就能计算出竖着的seekbar所需要的各个数值。 在画seekbar之前,我们把这个区域旋转了90度交给系统,系统给我们画一个标准的seekbar,在整个layout中,这个seekbar就成竖直的了。
二.SeekBar使用方法 下面是SeekBar的一些基本信息和使用方法: SeekBar是Android的一个类,位于android.widget.SeekBar包中。 在XML布局文件中添加SeekBar: <SeekBar android:id="@+id/seekBar" android:layout_width="match_parent" android:layout_height="wrap_content" /> 在Java代码中获取SeekBar实例,并设置相关监听器以响应用户的操作: SeekBar seekBar = findViewById (R.id.seekBar); seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override SeekBar seekBar) { // 当用户停止拖动SeekBar时触发该方法 } }); 三.SeekBar常用属性 android:max:设定SeekBar可选取的最大值
seekBar = (SeekBar) findViewById(R.id.seekbar); SeekBar seekBar02 = (SeekBar) findViewById(R.id.seekbar02 ); seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { }
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){ /** * 进度被改变时,调用 */ @Override public void onProgressChanged(SeekBar seekBar * * 用户停止拖拽的时候,调用 * @param seekBar The SeekBar in which the touch gesture began */ @Override public void onStopTrackingTouch(SeekBar seekBar) { 两种进度条 ProgressBar两种样式,Java中更新UI控件需要再主线程中修改代码; SeekBar主要是监听器中三个方法的使用
() { @Override public void onProgressChanged(SeekBar seekBar, int i, boolean ()) * i); } @Override public void onStartTrackingTouch(SeekBar seekBar ) { } @Override public void onStopTrackingTouch(SeekBar seekBar () { @Override public void onProgressChanged(SeekBar seekBar, int i, boolean ) { } @Override public void onStopTrackingTouch(SeekBar seekBar
拖动条组件(SeekBar) <SeekBar android:id="@+id/seekBar1" android:layout_width="match_parent android:attr/textAppearanceLarge" /> <SeekBar android:id="@+id/seekBar1" android android.widget.Toast; 16 17 public class SeekBar_Or_RatingBar extends Activity{ 18 private SeekBar ); 27 28 seekbar = (SeekBar) findViewById(R.id.seekBar1); 29 text = (TextView seekBar) { 38 // TODO Auto-generated method stub 39 Toast.makeText(SeekBar_Or_RatingBar.this
使用SeekBar控件来控制 布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 控件 SeekBar bar = (SeekBar) findViewById(R.id.brightness_bar); bar.setOnSeekBarChangeListener( this); 2.继承 SeekBar.OnSeekBarChangeListener 接口 实现三个方法 @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { int id = seekBar.getId(); Window window = seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { }
首先是SeekBar的使用 protected SeekBar seekBar;//进度条 private Timer timer;//定时器 protected TextView tv_start () / 1000)); } }); 解释一下,首先我们定义了SeekBar,然后调用SeekBar的setOnSeekBarChangeListener()(PS SeekBar还是其他的一些方式改变了SeekBar的值。 = (SeekBar)findViewById(R.id.seekbar); //绑定监听器,监听拖动到指定位置 seekBar.setOnSeekBarChangeListener = (SeekBar)findViewById(R.id.seekbar); //绑定监听器,监听拖动到指定位置 seekBar.setOnSeekBarChangeListener
() { @Override public void onStopTrackingTouch(SeekBar seekBar) (SeekBar seekBar) { // TODO Auto-generated method stub } @Override public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated " /> <SeekBar android:id="@+id/cardview_radius_seekbar" " /> <SeekBar android:id="@+id/cardview_elevation_seekbar"
android:id="@+id/seekBar" android:layout_width="270dp" = (SeekBar) findViewById(R.id.seekBar); // 为进度条添加进度更改事件 seekBar.setOnSeekBarChangeListener onSeekBarChangeListener = new SeekBar.OnSeekBarChangeListener() { // 当进度条停止修改的时候触发 @ Override public void onStopTrackingTouch(SeekBar seekBar) { // 取得当前进度条的刻度 seekBar) { } @Override public void onProgressChanged(SeekBar seekBar, int