• 禁止EditView自动弹出系统软键盘_Android基础篇(Java)


    文 | Promise Sun


    1.场景描述:

    1) APP项目中经常会开发自定义软键盘;同时在使用EditView时,也会常常遇到自动弹出系统自带的软键盘,与自定义的软键盘产生冲突的情况;此时需要禁止EditView自动弹出系统软键盘,从而使自定义的软键盘正常显示。

    2) 正常的禁用系统软键盘方法无法满足需求,eg:在复制粘贴文本前,选中EditView中的文本时,Android系统会自动调起软键盘,与自定义的软键盘产生冲突;此时需要特殊处理一下。
    希望达到的效果是无论如何点击EditView,系统软键盘绝对不会弹出来——实现彻底禁止EditView自动弹出系统软键盘。

    2. 功能实现

    1)首先,在清单文件AndroidManifest.xml中,给EditView所在的Activity页面设置属性

     android:windowSoftInputMode="stateHidden"

    eg:(示例仅供参考)

    1. <activity
    2. android:name=".promise.sun.DemoActivity"
    3. android:windowSoftInputMode="stateHidden"/>

    2)然后,找到EditView所在的xml布局文件,找到EditView的父布局(容器),设置属性

    1. android:focusable="false"
    2. android:focusableInTouchMode="false"

    eg:(示例仅供参考)

    1. <RelativeLayout
    2. android:layout_width="match_parent"
    3. android:layout_height="wrap_content"
    4. android:focusable="false"
    5. android:focusableInTouchMode="false">
    6. <EditText
    7. android:id="@+id/et_search"
    8. android:layout_width="match_parent"
    9. android:layout_height="@dimen/dp_35"
    10. android:layout_gravity="center"
    11. android:background="@drawable/bg_white_border_buleside_10"
    12. android:drawableLeft="@drawable/icon_search"
    13. android:drawableRight="@drawable/icon_clear"
    14. android:hint="请输入"
    15. android:maxLength="12"
    16. android:maxLines="1"
    17. android:paddingLeft="@dimen/dp_30"
    18. android:paddingRight="@dimen/dp_10"
    19. android:singleLine="true"
    20. android:textColor="@color/app_black"
    21. android:textColorHint="@color/grey_nine"
    22. android:textColorHighlight="@color/blue_two"
    23. android:textCursorDrawable="@drawable/cursor"
    24. android:textSize="@dimen/sp_14" />
    25. </RelativeLayout>

    3)最后,找到EditView所在的Activity,在初始化时设置方法

    editView.setShowSoftInputOnFocus(false);

    4)完美解决,亲测有效。

  • 相关阅读:
    计算机网络学习三(以太网基本概念)
    LeetCode每日一题——1704. 判断字符串的两半是否相似
    C#赋值时=>和=的区别
    Vue中组件化编码使用、实现组件之间的参数传递(实战练习二)
    GC调优思路
    剑指 Offer 57. 和为s的两个数字【查找排序】
    Java 一台机器搭建多个tomcat,运行不同的程序
    Kafka3.1简介及Kafka3.1部署、原理和API开发使用介绍
    个人申请专利的费用是多少?
    编程小白如何成为大神?大学新生的最佳入门攻略
  • 原文地址:https://blog.csdn.net/Sun_2134/article/details/125554371