Android开源DiscreteSeekbar:动画气泡指示当前滑动值
16lz
2021-12-04
Android开源DiscreteSeekbar:动画气泡指示当前滑动值
Android本身提供的SeekBar用以调控值以及回调传回当前选择的值。但Android原生的SeekBar表现力不太丰富,在github上有一个开源的第三方DiscreteSeekbar,增强了Android原生的Android Seekbar的表现力,DiscreteSeekbar在github上的项目主页是:https://github.com/AnderWeb/discreteSeekBar
当用户的手指拖动DiscreteSeekbar的滑块时候会自动弹出气泡跟随滑动提示当前的值。
使用DiscreteSeekbar首先需要写布局:
DiscreteSeekbar一些常用的属性定义:
app:dsb_max:最大值
app:dsb_min:最小值
app:dsb_value:当前值
app:dsb_indicatorFormatter:定义在弹出的动画气泡中显示的样式,比如,app:dsb_indicatorFormatter="值 %d"表示显示出来的值形如:值 37。
DiscreteSeekbar可以自定制的属性很多,可以在其github的项目主页上查看。DiscreteSeekbar可以像Android 原生的Seekbar一样使用。
Java代码:
import android.app.Activity;import android.os.Bundle;import android.util.Log;import org.adw.library.widgets.discreteseekbar.DiscreteSeekBar;import org.adw.library.widgets.discreteseekbar.DiscreteSeekBar.OnProgressChangeListener;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); DiscreteSeekBar discreteSeekBar1 = (DiscreteSeekBar) findViewById(R.id.discrete1); discreteSeekBar1.setNumericTransformer(new DiscreteSeekBar.NumericTransformer() { @Override public int transform(int value) { return value * 100; } }); DiscreteSeekBar discreteSeekBar2 = (DiscreteSeekBar) findViewById(R.id.discrete2); discreteSeekBar2.setOnProgressChangeListener(new OnProgressChangeListener(){@Overridepublic void onProgressChanged(DiscreteSeekBar seekBar, int value, boolean fromUser) {Log.d("当前值", value+"");}@Overridepublic void onStartTrackingTouch(DiscreteSeekBar seekBar) {}@Overridepublic void onStopTrackingTouch(DiscreteSeekBar seekBar) {}}); }}
运行结果如图:
更多相关文章
- Android中的常用控件之进度条(ProgressBar)
- Android(安卓)QQ、微信聊天消息界面设计原理与实现
- 第21天 Android(安卓)Touch事件学习 8 事件分发原理
- Android开源DiscreteSeekbar:动画气泡指示当前滑动值
- Android(安卓)SharedPreferences应用解析
- 怎么让android定时关机
- Android(安卓)Layout XML属性
- android 退出程序三种方法及两种形式
- Android(安卓)Layout XML属性