Android InputType详解

本文介绍了在Android应用中如何通过设置android:inputType属性来控制软键盘的类型,包括数字键盘、字符键盘等,并提供了具体的设置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. android:inputType  

    •   如果设置android:inputType = "number",则默认弹出的输入键盘为数字键盘,且输入的内容只能为数字。

    • InputType文档:http://cs.szpt.edu.cn/android/reference/android/text/InputType.html
  2. setRawInputType(int type)

    • 也就是说可以通过改变这个方法 达到改变 键盘的输入显示,比如数字键盘,字符键盘,但是这个方法不改变你原有的 设置的字符限制。
    1. 比如若设置如下,则只是默认弹出弹出数字键盘,但对内容没有限制,此时任然可以输入字符等其他内容。
      setRawInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_NUMBER_FLAG_SIGNED);
    2. 如果想设置允许输入字符,但是希望默认弹出的键盘为数字键盘就可以这样进行设置:
      setInputType(InputType.TYPE_CLASS_TEXT);
      setRawInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
  3. setInputType(int type)

    •  效果跟android:inputType一样
  4. 细节(坑)Java中需设置基本类型:

    1. 设置只允许数字输入的InputType时,不能只单纯设置如下,否则将无效。
      setInputType(InputType.TYPE_NUMBER_FLAG_SIGNED);或者setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);正确的做法是在前面加上TYPE_CLASS_NUMBER,如下:
      •   setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_NUMBER_VARIATION_NORMAL);//只允许输入数字(正整数)
        setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_NUMBER_FLAG_SIGNED);//只允许输入数字(有符号整数)
        setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_NUMBER_FLAG_DECIMAL);//只允许输入数字(decimal,小数)
         
  1.    其他输入设置(如Text、Date、Time、Phone等)都有有相应的基本类型TYPE_CLASS_,使用时也需要在前面加上该基本类型TYPE_CLASS_,然后再加上需要的拓展类型,否则无效
      •   

转载于:https://www.cnblogs.com/s-xq/p/6223131.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值