我的Android笔记(六)——分享一个自己的NumberPicker

  次阅读 作者:智能小宝 来源:互联网 2016-01-06 19:19 我要评论(0)

(PS:其实不是自己的,只是我修改自别人的开源代码的,这里说“自己的”只是为了区别Android3.0以后系统自带的NumberPicker类)

Android3.0增加了一个NumberPicker类,可用于数字的获龋但是目前我们的应用一般都至少要兼容到2.1,所以要用NumberPicker就很纠结了。

我在写的一个应用要用到金钱的输入,之前的做法是用一个EditText,限制内容为数字,当点击时会调用系统默认输入法的数字键盘,但是总感觉有时候输入法的界面看起来很突兀,跟程序的风格不搭,于是萌生了自己写一个数字输入类的想法。

经过google,发现了一个开源项目http://code.google.com/p/taketoma-android-number-picker/,经过修改,实现了自己想要的功能。

在NumberPickerDialog的setText方法中可以很方便的修改限制条件,使其符合各种要求,如原版的代码就是对最大值和最小值的限定。另外原版的代码限制为整数,我修改成了String,以使其更灵活一些。

我修改后的代码demo——

运行效果图:

功能类NumberPickerDialog.java

[java] view plaincopyprint?

package com.android.picker;

import android.app.Dialog;

import android.content.Context;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

public class NumberPickerDialog extends Dialog implements OnClickListener {

Button btn_ok;

Button btn_cancel;

TextView txt_input;

TextView txt_rangeMin;

TextView txt_rangeMax;

Button btn_1;

Button btn_2;

Button btn_3;

Button btn_4;

Button btn_5;

Button btn_6;

Button btn_7;

Button btn_8;

Button btn_9;

Button btn_0;

Button btn_clear;

Button btn_dot;

Context context;

String initNumber;

int mode;

public interface OnMyNumberSetListener {

/**

* 数字被设定之后执行此方法

*

* @param number

*当前文字框中字符串

* @param mode

*可用以标识调用者

*/

void onNumberSet(String number, int mode);

}

private OnMyNumberSetListener mListener;

public NumberPickerDialog(Context context, OnMyNumberSetListener listener,

String number, int mode) {

super(context);

this.context = context;

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...