本文实例讲述了Android开发之滑动数值选择器NumberPicker用法。分享给大家供大家参考,具体如下:
简介:
NumberPicker: 用户既可以从键盘输值,也可以拖动来选择值
实际效果:
常用方法:
1. setMinValue()
设置组件支持的最小值
2. setMaxValue()
设置组建支持的最大值
3. setValue()
设置该组件的当前值
在布局文件中调用:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
<? xml version = "1.0" encoding = "utf-8" ?> < TableLayout xmlns:android = "http://schemas.android.com/apk/res/android" android:layout_width = "match_parent" android:layout_height = "match_parent" android:orientation = "vertical" > < TableRow android:layout_width = "match_parent" android:layout_height = "0dp" android:layout_weight = "1" android:orientation = "vertical" > < TextView android:text = "选择时钟" android:textSize = "20dp" android:layout_width = "match_parent" android:layout_height = "wrap_content" /> < NumberPicker android:id = "@+id/np1" android:solidColor = "@color/colorPrimaryDark" android:layout_width = "match_parent" android:layout_height = "wrap_content" android:focusable = "true" android:focusableInTouchMode = "true" /> </ TableRow > < TableRow android:layout_width = "match_parent" android:layout_height = "0dp" android:layout_weight = "1" android:orientation = "vertical" > < TextView android:text = "选择分钟" android:textSize = "20dp" android:layout_width = "match_parent" android:layout_height = "wrap_content" /> < NumberPicker android:id = "@+id/np2" android:solidColor = "@color/colorAccent" android:layout_width = "match_parent" android:layout_height = "wrap_content" android:focusable = "true" android:focusableInTouchMode = "true" /> </ TableRow > </ TableLayout > |
关于监听事件:
1. setOnValueChangedListener
调用监听事件
2. onValueChange
具体执行( int oldVal :之前详实的数值 , int newVal 改变或现时的数值)
具体实现方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
public class MainActivity extends Activity { private NumberPicker np1,np2; //定义上下限具体值 private int min = 10 ,max = 50 ; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); np1 = (NumberPicker) findViewById(R.id.np1); //设置np1的最大值只和最小值 np1.setMinValue( 0 ); np1.setMaxValue( 23 ); //设置哪怕的当前值 np1.setValue(min); np1.setOnValueChangedListener( new NumberPicker.OnValueChangeListener() { @Override public void onValueChange(NumberPicker picker, int oldVal, int newVal) { min = newVal; showSelectedPrice(); } }); np2 = (NumberPicker) findViewById(R.id.np2); //设置np1的最大值只和最小值 np2.setMinValue( 0 ); np2.setMaxValue( 23 ); //设置哪怕的当前值 np2.setValue(max); np2.setOnValueChangedListener( new NumberPicker.OnValueChangeListener() { @Override public void onValueChange(NumberPicker picker, int oldVal, int newVal) { min = newVal; showSelectedPrice(); } }); } private void showSelectedPrice(){ Toast.makeText(MainActivity. this , "设定闹钟时间为:" + min + " : " + max,Toast.LENGTH_SHORT).show(); } } |
希望本文所述对大家Android程序设计有所帮助。
原文链接:https://blog.csdn.net/qq_43377749/article/details/85002310