SeekBar 可拖动进度条 常用属性 常用方法 自定义样式 常用的属性 max 最大值 progress 进度值 secondaryProgress 第二进度条 progressDrawable 进度图片...() 获取进度值 setSecondaryProgress() 设置第二进度值 getSecondaryProgress() 获取第二进度值 setSeekBarChangeListener() 设置seekbar...android:width="20dp"/> 高度通过 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_bgseekbar_thumb" android:state_focused="true" android...-- 默认的时候 -->seekbar_thumb" />老群被封,+新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 接下来, 看一下运行效果: 总结: : SeekBar主要是实现进度的控制 : 还有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,运行程序,当拖动滑块时,可以可以看到下图所示界面效果
二.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可选取的最大值
今天说一说如何做一个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) 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) { }
当前网络上提供的各种“领域驱动设计(DDD)”课程,既没有能力理清复杂的领域逻辑(第一个D成了空话),实现时也没有能力维护领域逻辑(第二个D成了空话),妄图用简陋的思维(当然,当事人已经自我感觉很复杂了...本训练强化分析和设计(领域建模和领域驱动设计)的技能,使软件组织迈向基于核心域的复用,降低开发维护成本。...UMLChina是“领域驱动设计”国内最早的引入者之一,我们了解打着“领域驱动设计”旗号的各种伪创新的真面目。 2004年,UMLChina负责Eric Evans的《领域驱动设计》中译本的审稿工作。...2007年,开始向企业提供领域驱动设计的训练和咨询服务,但一直揭示并剔除各种“领域驱动设计”内容中的“伪创新”部分。...--典型领域的分析模式(人员、组织、学校、餐饮……) --类之间责任分配的原则 --DDD“新词”祛魅(聚合、上下文、领域事件……) --状态机要点 --通过状态机整理领域逻辑 --状态机和实现的映射
seekBar; private static final int UPDATE_PROGRESS = 0; //使用handler定时更新进度条 private Handler...(SeekBar seekBar, int progress, boolean fromUser) { //进度条改变 if (fromUser...(SeekBar seekBar) { //停止触摸进度条 } }); } private class MyConnection...handler.removeCallbacksAndMessages(null); } //更新进度条 private void updateProgress...); //使用Handler每500毫秒更新一次进度条 handler.sendEmptyMessageDelayed(UPDATE_PROGRESS, 500);
} } }; thread.start(); } } 三:代码分析 1:声明成员变量 下载进度需要实时更新...APP 启动时,系统自动创建,所有和 “界面显示、控件更新(比如 TextView.setText、ProgressBar.setProgress )” 相关的操作,必须在这线程里执行,不然会报错!...才能安全更新界面,不报错。...总结:在Android当中,所有页面更新的相关操作,都要在主线程中实现 3:细节处理 每次点击开始下载按钮时,先把进度初始化为0 效果如下 四:Seekbar 1:样式 样式如下;主要用于调节音量,亮度等...两种进度条 ProgressBar两种样式,Java中更新UI控件需要再主线程中修改代码; SeekBar主要是监听器中三个方法的使用
{ override fun onProgressChanged(seekBar: SeekBar?...progress) } override fun onStartTrackingTouch(seekBar: SeekBar?)...{ } override fun onStopTrackingTouch(seekBar: SeekBar?)...UI Timer更新UI /** * 每隔一秒执行一次,更新当前播放时间 */ private fun startTimer() { mTimer =...seek_bar,在seek_bar的onProgressChanged 回调中去更新。
更新进度条 new Thread() { @Override public void run() {...while (videoView.isPlaying()) { // 如果正在播放,没0.5.毫秒更新一次进度条...= (SeekBar) findViewById(R.id.seekBar); // 为进度条添加进度更改事件 seekBar.setOnSeekBarChangeListener...seekBar) { } @Override public void onProgressChanged(SeekBar seekBar, int...buttonPlay.setText("暂停"); textViewStatus.setText("请您欣赏"); // 开始线程,更新进度条的刻度
图像腐蚀、膨胀是基于高亮部分(白色)操作的,膨胀是对高亮部分进行膨胀,类似“领域扩张”,腐蚀是高亮部分被腐蚀,类似“领域蚕食”。...(object : SeekBar.OnSeekBarChangeListener { override fun onProgressChanged(seekBar: SeekBar...mBinding.tvSize.text = progress.toString() } override fun onStartTrackingTouch(seekBar...: SeekBar?)...{ } override fun onStopTrackingTouch(seekBar: SeekBar?)
关键是要获取到音乐的总长度, 并且实时更新, 要实时更新的话, 我这里开了一个线程, 1s刷一次, 就不多说了. /** * 更新SeekBar */ private...然后就是一个SeekBar的监听设置....@Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {...@Override public void onStopTrackingTouch(SeekBar seekBar) { iService.callSeekToPos...(seekBar.getProgress()); } }); /** * 设置SeekBar位置 * * @param pos 当前位置