数值选择器用于让用户输入数值,用户既可以通过键盘输入数值,也可以通过拖动来选择数值。使用该组件常用如下三个方法。

  • setMinValue(int minVal):设置该组件支持的最小值。
  • setMaxValue(int maxVal):设置该组件支持的最大值。
  • setValue(int value):设置该组件的当前值。

下面通过一个实例来介绍NumberPicker的功能与用法。

实例:选择您意向的价格范围

在该实例中,程序将使用两个NumberPicker来让用户选择价格,第一个NumberPicker用于选择低价,第二个NumberPicker用于选择高价。下面是该实例的布局文件。

布局文件如下:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent">
<TableRow android:layout_width="fill_parent"android:layout_height="wrap_content" ><TextView android:text="选择低价:"android:layout_width="120dp"android:layout_height="wrap_content"/><NumberPicker android:id="@+id/np1"android:layout_width="match_parent"android:layout_height="80dp"android:focusable="true"android:focusableInTouchMode="true"/></TableRow><TableRow android:layout_width="fill_parent"android:layout_height="wrap_content"><TextView android:text="选择高价:"android:layout_width="120dp"android:layout_height="wrap_content"/><NumberPicker android:id="@+id/np2"android:layout_width="match_parent"android:layout_height="80dp"android:focusable="true"android:focusableInTouchMode="true"/></TableRow>
</TableLayout>

上面的布局文件中定义了两个NumberPicker,接下来Activity代码需要为这两个NumberPicker设置最小值、最大值,并为他们绑定事件监听器。下面是该Activity的后台代码。

package org.crazyit.helloworld;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.NumberPicker;
import android.widget.NumberPicker.OnValueChangeListener;
import android.widget.Toast;public class NumberPickerTest extends Activity {NumberPicker np1,np2;//定义最低价格、最高价格的初始值int minPrice=25,maxPrice=75;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.number_picker_test);np1=(NumberPicker)findViewById(R.id.np1);//设置np1的最小值和最大值 np1.setMinValue(10);np1.setMaxValue(50);//设置np1的当前值
        np1.setValue(minPrice);np1.setOnValueChangedListener(new OnValueChangeListener(){
@Overridepublic void onValueChange(NumberPicker picker, int oldVal,int newVal) {// TODO Auto-generated method stubminPrice=newVal;showSelectedPrice();}});np2=(NumberPicker)findViewById(R.id.np2);//设置np2的最小值和最大值  np2.setMinValue(60);np2.setMaxValue(100);//设置np2的当前值
        np2.setValue(maxPrice);
        np2.setOnValueChangedListener(new OnValueChangeListener(){@Overridepublic void onValueChange(NumberPicker picker, int oldVal,int newVal) {// TODO Auto-generated method stubmaxPrice=newVal;showSelectedPrice();}});}private void showSelectedPrice(){Toast.makeText(this, "您选择的价格为:"+minPrice+",最高价格为:"+maxPrice, Toast.LENGTH_SHORT).show();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.number_picker_test, menu);return true;}}

上面两段粗体字代码的控制逻辑基本是相似的,它们都调用了NumberPicker的setMinValue()、setMaxValue()来设置该数值选择器的最小值、最大值和当前值。除此之外,程序还为两个日期选择器绑定了事件监听器:当它们的值发生改变时,将会激发相应的事件处理方法。
     运行该程序,并通过NumberPicker选择数值,将可以看到如下效果:

数值选择器(NumberPicker)的功能与用法相关推荐

  1. 鸿蒙应用开发 | 按钮(Button)组件 的功能与用法

    大家好,我是你们的朋友 朋哥,今天开始朋哥开始研究鸿蒙了,定时会写一些文章分享给大家,希望多多提意见. 上一篇原创文章 解读了 文本框(Text)和编辑框(TextField)的功能与用法. 没有跟上 ...

  2. Javascript自定义事件功能与用法实例分析

    原文地址:https://www.jb51.net/article/127776.htm 本文实例讲述了javascript自定义事件功能与用法.分享给大家供大家参考,具体如下: 概述 自定义事件很难 ...

  3. trait功能 php,PHP之Trait功能与用法实例分析

    本文实例讲述了PHP Trait功能与用法.分享给大家供大家参考,具体如下: Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制. 1.如果引入的Trait有同名的方法trait A{ ...

  4. mysql中外键的作用是什么_mysql外键基本功能与用法详解

    本文实例讲述了mysql外键基本功能与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是外键 外键的增加 外键的修改和删除 外键的约束模式 首发日期:2018-04-12 什么是外键: 外键就 ...

  5. Delphi Format函数功能及用法详解

    DELPHI中Format函数功能及用法详解 DELPHI中Format函数功能及用法详解function Format(const Format: string; const Args: array ...

  6. php 反射对象属性,php面向对象之反射功能的用法详解

    这篇文章主要介绍了php面向对象之反射功能与用法,结合实例形式简单分析了php5面向对象反射的概念及具体用法,需要的朋友可以参考下 本文实例讲述了php面向对象之反射功能与用法.分享给大家供大家参考, ...

  7. python中sys用法_Python中sys模块功能与用法实例详解

    Python中sys模块功能与用法.,具体如下: sys-系统特定的参数和功能 该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数.它始终可用. sys.argv 传递给Pyth ...

  8. Android学习笔记 2.5.3 实例——使用SimpleAdapter创建ListView 2.5.4 自动完成文本框(AutoCompleteTextView)的功能与用法

    Android学习笔记 疯狂Android讲义 文章目录 Android学习笔记 疯狂Android讲义 第2章 Android 应用的界面编程 2.5 第4组 UI组件:AdapterView及其子 ...

  9. java正则 环视_Java正则环视和反向引用功能与用法详解

    本文实例讲述了Java正则环视和反向引用功能与用法.分享给大家供大家参考,具体如下: 环视 1.环视概念 环视,又称为零宽断言,简称断言. 环视强调位置(前面或后面),必须匹配环视表达式,才能匹配成功 ...

最新文章

  1. java 匿名内部类
  2. Maya2022基础入门学习教程
  3. [RK3288][Android6.0] 调试笔记 --- 软硬键盘同时使用【转】
  4. 字符流Reader对象创建子类及方法
  5. Demo:基于 Flink SQL 构建流式应用
  6. 3、Angular JS 学习笔记 – Controllers [翻译中]
  7. keytool安装tls证书_TLS使用指南(一):如何在Rancher 2.x中进行TLS终止?
  8. k8s pvc扩容:pvc创建后扩容
  9. mysql中的运算符的执行顺序_【MySQL】执行顺序
  10. Install Odoo 11 on CentOS 7
  11. wordpress致命错误怎么解决_pppoe错误是什么意思 pppoe错误怎么解决
  12. golang 获取当天0点时间_golang使用webAssembly的方式
  13. python教程400集笔记,Python学习中的笔记--集合相关,python笔记--集合
  14. Yarn和SparkAlone对比
  15. Eclipse : Android requires compiler compliance level 5.0 or 6.0.
  16. 【渝粤教育】国家开放大学2018年秋季 0689-21T老年心理健康 参考试题
  17. python 散点图点击链接图片_Python数据可视化——散点图
  18. CUDA11.0+cudnn8.0.5下载安装 2021-04-30
  19. 微信之父:张小龙并不孤独
  20. 高权重网站站长之家,站长专栏申请暂时关闭了!

热门文章

  1. php 模块指令,php artisan module常用命令
  2. 深入理解jQuery的Event机制
  3. AD域中NTP服务器的配置
  4. aws-ec2-双网卡问题
  5. 电子商务企业借力呼叫中心提高效率
  6. 使用 trait 时报PHP Parse error: syntax error, unexpected 'use' (T_USE) 这个错误
  7. 在Linux下正确安装VMWARE TOOLS
  8. matplotlib 设置图形大小时 figsize 与 dpi 的关系
  9. Ubuntu中用户名密码和root密码修改
  10. Android性能调优篇之探索垃圾回收机制