广告
返回顶部
首页 > 资讯 > 移动开发 >Android使用EditText小技巧汇总
  • 507
分享到

Android使用EditText小技巧汇总

2024-04-02 19:04:59 507人浏览 泡泡鱼
摘要

目录1、隐藏Android中EditText自带的的下划线2、让软键盘出现搜索按钮3、多行EditText的时候会出现光标在中间的问题:4、修改EditText的光标颜色5、通过监听

1、隐藏android中EditText自带的的下划线


android:background="@null"
或android:background="@/drawable/bg_edittext_nORMa.xml"

bg_edittext_norma.xml


<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="Http://schemas.android.com/apk/res/android">
    <!--商品描述的可编辑框-->
    <solid android:color="#FFFFFF" />
    <corners android:radius="10dip"/>
    <stroke
        android:width="1dip"
        android:color="#BDC7D8" />
</shape>

<EditText
       style="?android:attr/textViewStyle"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:background="@null"
       android:hint="输入用户名"
       android:paddingBottom="5dip"
       android:paddingTop="5dip" />

2、让软键盘出现搜索按钮

  • 核心代码块1:

这俩个一定要设置,要不然软键盘不会出现搜索


                android:imeOptions="actionSearch"
                android:singleLine="true"
  • 核心代码块2:

Activity或者Fragment 要实现TextView.OnEditorActionListener接口


public class DruGCatalogueInquiryFragment extends GeneralSocialFragment implements TextView.OnEditorActionListener {

 private ClearEditText etDrugName;

 etDrugName = xFindViewById(R.id.et_drug_name);
 etDrugName.setOnEditorActionListener(this);

  @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        doWhichOperation(actionId);
        return true;
    }

    private void doWhichOperation(int actionId) {
        switch (actionId) {
            case EditorInfo.IME_ACTION_SEARCH:
                //隐藏项目中弹框
                hideSoftInputMethod();

                //项目中个性化操作
                getEditTextValue();
                pageno = 1;
                getMedicineListInfoForApp(name,firstWord,type,level,pageno);
                break;
            default:
                break;
        }
    }

}

3、多行EditText的时候会出现光标在中间的问题:

关键代码


android:gravity="left"

<EditText   
    android:layout_width="match_parent"  
    android:layout_height="wrap_content"  
    android:minLines="5"  
    android:background="#ffffff"  
    android:paddingLeft="5dp"  
    android:gravity="left" />

像这种。这是什么原因造成的呢?用来EdittText默认是gravity是center.就是从中间对齐。我们把他改成left啊top啊就OK了。

4、修改EditText的光标颜色

在使用EditText的XML 文件中加入一个属性:


android:textCursorDrawable="@null"
//或者
android:textCursorDrawable = "#fff000"

这个属性是用来控制光标颜色的,"@null" 是作用是让光标颜色和text color一样,当然也可以修改成你自己的颜色。

5、通过监听OnFocusChangeListener判断EditText的焦点与否


    private void initListener(){
        etDrugName.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View view, boolean b) {
                if (b){
                    TypeUtils.getInstance( getActivity() ).hideKeyboardView();
                }
            }
        });

        etDrugNameOfInitial.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View view, boolean b) {
                if (b){
                    TypeUtils.getInstance( getActivity() ).hideKeyboardView();
                }
            }
        });
    }

6、通过属性android:ellipsize来对文本内容的呈现做说明


 android:ellipsize="end"

7、通过属性android:digits来规定只能输入的值


android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

8、规定只能输入中文


  
    InputFilter filter = new InputFilter() {
        public CharSequence filter(CharSequence source, int start, int end,
                                   Spanned dest, int dstart, int dend) {
            for (int i = start; i < end; i++) {
                if (!isChinese(source.charAt(i))) {
                    return "";
                }
            }
            return null;
        }
    };

    
    public static boolean isChinese(char c) {
        Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
        if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
                || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
                || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
                || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
                || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
                || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
            return true;
        }
        return false;
    }

到这里就结束啦。

以上就是Android使用EditText小技巧汇总的详细内容,更多关于Android使用EditText的资料请关注编程网其它相关文章!

--结束END--

本文标题: Android使用EditText小技巧汇总

本文链接: https://www.lsjlt.com/news/125157.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android使用EditText小技巧汇总
    目录1、隐藏android中EditText自带的的下划线2、让软键盘出现搜索按钮3、多行EditText的时候会出现光标在中间的问题:4、修改EditText的光标颜色5、通过监听...
    99+
    2022-11-12
  • Android ListView常用小技巧汇总
    ListView在我们Android项目中的地位是有目共睹的,相信几乎每一个App中都有它的身影。 ListView主要是用列表形式来加载数据,在特定情况下需要实现一些特殊功能:如刷新数据,加载数据,实现动画效果等。 作为我们常用的...
    99+
    2022-06-06
    技巧 listview Android
  • Android EditText常用属性功能汇总
    本文总结分析了Android EditText常用属性。分享给大家供大家参考,具体如下: android:hint="请输入数字!"//设置显示在空间上的提示信息 androi...
    99+
    2022-06-06
    edittext 属性 Android
  • Android控制界面刷新技巧汇总
    今天整理一下在项目中怎么去控制我们的数据刷新。 不需要广播、事件总线,就能全局性的控制想要刷新的界面。 先来看一下效果图: 近期在写项目的过程中,感觉很多界面中的状态...
    99+
    2022-06-06
    界面 技巧 Android
  • Android中Glide库的使用小技巧总结
    简介在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。https://githu...
    99+
    2023-05-30
    android glide库 使用技巧
  • C# TreeView控件使用技巧汇总
    目录前言1.TreeView控件使用1.1 TreeView控件常用的属性1.2 创建窗体文件并修改名称2.设计界面3.添加和删除数据3.1 点击treeView编辑结点3.2 在T...
    99+
    2022-11-13
    C# TreeView控件技巧 C# TreeView控件
  • Laravel使用Queue队列的技巧汇总
    Laravel 队列为不同的后台队列服务提供统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关系型数据库的队列。队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短 Web 请求和相应的时间...
    99+
    2023-09-02
    laravel php 开发语言
  • Python matplotlib实用绘图技巧汇总
    前言 在日常的业务数据分析 ,可视化是非常重要的步骤。这里总结了matplotlib常用绘图技巧,希望可以帮助大家更加更加高效的、美观的显示图表。作者:北山啦 Matplotli...
    99+
    2022-11-12
  • Android中关于相对布局RelativeLayout的技巧汇总
    前言 首先大家可以思考下如何用RelativeLayout而且没有嵌套生成下面的布局,如果你会的话就不用看后面的了。 分析 这个布局的特点是按钮3底部对齐,按钮2在按钮3的上面...
    99+
    2022-06-06
    技巧 relativelayout Android
  • Z-BLOG常用技巧汇总(月光博客)
    高效能的日志搜索   用途:搜索是非常消耗系统资源的动作,而且对于多关键字搜索和模糊搜索,处理起来也非常麻烦,这里提供了一个非常高效而实用的搜索方法,就是使用Google的站内搜索技术,当你的日志被Google索引了大部...
    99+
    2022-06-12
    常用技巧
  • 一些常用的Python爬虫技巧汇总
    Python爬虫:一些常用的爬虫技巧总结 爬虫在开发过程中也有很多复用的过程,这里总结一下,以后也能省些事情。 1、基本抓取网页 get方法 import urllib2 url "http://w...
    99+
    2022-06-04
    爬虫 常用 技巧
  • Vue项目中常用的实用技巧汇总
    目录前言1. 使用 $attrs 和 $listeners 进行多层级的数据和事件传递2. 实现数据的双向绑定,方便维护数据使用 .sync 实现 Prop 的“双向绑定”使用 mo...
    99+
    2022-11-12
  • Android studio有哪些使用小技巧
    这篇文章主要介绍“Android studio有哪些使用小技巧”,在日常操作中,相信很多人在Android studio有哪些使用小技巧问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android studi...
    99+
    2023-06-04
  • JS创建或填充任意长度数组的小技巧汇总
    目录前言直接填充法 for 循环 push() 法 Array 构造函数法 在 Array 构造函数后面加上 fill() 方法使用 undefined 填充数组 使用 Array....
    99+
    2022-11-12
  • MySQL使用的常见问题解决与应用技巧汇总
    前言 在MySQL日常开发或者是维护中,有一些问题或是故障往往是难以避免的,如丢失密码、表损坏。在此总结一下常见的问题,以备今后所需。 一、 忘记 MySQL 的 root 密码 1. 登录到数据库所在的...
    99+
    2022-10-18
  • Android Studio使用小技巧:自定义Logcat
    我们都知道Logcat是我们Android开发调试最常用的一个工具,但是Android Studio默认的Logcat调试的颜色是一样的,我们不好区分verbose、debug...
    99+
    2022-06-06
    Android Studio studio 技巧 logcat Android
  • Android中Snackbar的使用方法及小技巧
    Snackbar是Android支持库中新增的控件,用于显示短暂的提示信息。以下是Snackbar的使用方法和一些小技巧:1. 添加...
    99+
    2023-09-14
    android
  • Android编程常用技巧实例总结
    本文实例讲述了Android编程常用技巧。分享给大家供大家参考,具体如下: 1. 登录的时候,如果输入有误,则输入框左右震动,表示输入有误 在res下准备一个anim文件夹,里...
    99+
    2022-06-06
    技巧 Android
  • Android实用编程技巧代码总结
    本文实例总结了Android实用编程技巧。分享给大家供大家参考,具体如下: 1.让一个图片透明: Bitmap buffer = Bitmap.createBitmap(wi...
    99+
    2022-06-06
    技巧 编程技巧 Android
  • PyCharm使用小技巧
    本文部分内容参考了明宇李前辈的博客,原文请阅读 Pycharm的配置(背景颜色,字体,解释器等); 鼠标滑轮控制字体大小 部分参考了墨颜前辈的博客,原文请阅读 用鼠标滑轮控制代码字体大小; 感谢各位前辈的分享。除此之外,其余均为自己平时使...
    99+
    2023-01-31
    小技巧 PyCharm
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作