美文网首页Android控件使用篇Android专题Android
设置EditText控件不自动获取焦点呼出软键盘

设置EditText控件不自动获取焦点呼出软键盘

作者: 千夜零一 | 来源:发表于2020-11-17 20:15 被阅读0次

    引言

      很多时候我们并不想要在含有EditText输入框的页面启动后,直接呼出手机的软键盘,而是点击输入框的时候再获取焦点呼出软键盘。具体如何实现呢?简单两步直接搞定!


    实现方法:

    在包含EditText控件的父布局中设置如下两行代码:
    android:focusable="true"
    android:focusableInTouchMode="true"
    Tips:(解释一下)
      这两行代码表示将EditText的默认自动获取焦点的功能,主动移交给其父布局控件进行控制,并且通过触摸(focusableInTouchMode)获取焦点。


    具体代码:

    <androidx.constraintlayout.widget.ConstraintLayout
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:focusable="true"
            android:focusableInTouchMode="true"
            app:layout_constraintTop_toTopOf="parent">
    
        <ImageView
                android:id="@+id/ivBack"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="16dp"
                android:src="@mipmap/ic_black_arrow"
                app:layout_constraintBottom_toBottomOf="@id/search"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="@id/search" />
    
        <EditText
                android:id="@+id/search"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:layout_marginEnd="16dp"
                android:background="@mipmap/doctor_search"
                android:hint="输入商品名称、订单号"
                android:imeOptions="actionSearch"
                android:paddingStart="43dp"
                android:singleLine="true"
                android:focusable="true"
                android:focusableInTouchMode="true"
                android:text=""
                android:textSize="@dimen/sp_14"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toEndOf="@id/ivBack"
                app:layout_constraintTop_toTopOf="parent" />
    
        <ImageView
                android:id="@+id/ivSearch"
                android:layout_width="16dp"
                android:layout_height="16dp"
                android:layout_marginStart="16dp"
                android:background="@drawable/ic_icon_search"
                app:layout_constraintBottom_toBottomOf="@id/search"
                app:layout_constraintStart_toStartOf="@id/search"
                app:layout_constraintTop_toTopOf="@id/search" />
    </androidx.constraintlayout.widget.ConstraintLayout>
    

    大功告成!

    相关文章

      网友评论

        本文标题:设置EditText控件不自动获取焦点呼出软键盘

        本文链接:https://www.haomeiwen.com/subject/qesfiktx.html