Android EditText 用法小结

知识点

  • 显示光标但不显示软键盘
        // 如果你项目适配的最小版本大于等于21
        //直接调用EditText的该方法,设置为false即可
        acl_search_text.showSoftInputOnFocus = false

        // 代码控制获取焦点
       //(注意: 应该在xml设置这两个属性,避免两次点击输入框才能跳转;在onCreate中设置view未创建完成不生效)
        acl_search_text.isFocusable = true
        acl_search_text.isFocusableInTouchMode = true

        //获取焦点 光标出现
        acl_search_text.requestFocus()
  • 将光标移至文字末尾
        acl_search_text.setSelection(Global.searchKeyword.count()) //将光标移至文字末尾
  • 给EditText设置文本
        acs_edit_text.text = SpannableStringBuilder(Global.searchKeyword)
  • 给EditText设置为空
        acs_edit_text.text = SpannableStringBuilder("")
  • 搜索跳转新页面,去掉activity的跳转动画
        this.overridePendingTransition(0, 0)
  • 简单的带放大镜和清空按钮的搜索框


    Xnip2020-04-28_10-02-17.jpg
        <LinearLayout 
                      android:layout_width="0dp"
                      android:layout_height="32dp"
                      android:layout_marginVertical="10dp"
                      android:layout_marginLeft="15dp"
                      android:layout_weight="1"
                      android:background="@drawable/shape_ee_radius_16">

            <ImageView android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:layout_gravity="center_vertical"
                       android:layout_marginLeft="15dp"
                       android:src="@mipmap/search"/>

            <EditText android:id="@+id/acs_edit_text"
                      android:layout_width="0dp"
                      android:layout_height="match_parent"
                      android:layout_gravity="center_vertical"
                      android:layout_marginHorizontal="15dp"
                      android:layout_weight="1"
                      android:background="@null"
                      android:hint="请输入线索名称"
                      android:singleLine="true"
                      android:textSize="@dimen/mediumTextSize_14"/>
            <ImageButton
                android:id="@+id/acs_edit_clear_btn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:paddingHorizontal="15dp"
                android:paddingVertical="5dp"
                android:onClick="clearSearch"
                android:src="@mipmap/search_clear"
                android:visibility="gone"/>

        </LinearLayout>

参考

Android EditText获取焦点后只显示光标不弹出软键盘
Android Edittext 显示光标 获取焦点 监听焦点

推荐阅读更多精彩内容