Android控件使用篇Android专题Android

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

2020-11-17  本文已影响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>

大功告成!

上一篇下一篇

猜你喜欢

热点阅读